In [1]:
import pandas as pd
import numpy as np
import plotly.plotly as py
import plotly.graph_objs as go

df = pd.read_csv("https://raw.githubusercontent.com/Niederb/political_science/master/Daten/ja-prozent.csv", sep=";")

data = df[list(df.columns[3:-1])]
data = data[::-1]

kantonsnamen = list(data)
print(kantonsnamen)

variance = np.var(data, axis=1)
counter = list(range(1, len(variance + 1)))


['Zürich', 'Bern / Berne', 'Luzern', 'Uri', 'Schwyz', 'Obwalden', 'Nidwalden', 'Glarus', 'Zug', 'Fribourg / Freiburg', 'Solothurn', 'Basel-Stadt', 'Basel-Landschaft', 'Schaffhausen', 'Appenzell Ausserrhoden', 'Appenzell Innerrhoden', 'St. Gallen', 'Graubünden / Grigioni / Grischun', 'Aargau', 'Thurgau', 'Ticino', 'Vaud', 'Valais / Wallis', 'Neuchâtel', 'Genève']

In [5]:
trace = go.Scatter(
    x=counter,
    y=variance,
    mode='lines',
    connectgaps=True,
    name = "Varianz",
    text=df["Datum und Vorlage"][::-1]
)
layout = go.Layout(
        title='Abstimmungsvarianz',
        xaxis=dict(title='Abstimmungen nach zeitlicher Reihenfolge'),
        yaxis=dict(title='Varianz')
    )
data = [trace]
fig = go.Figure(data=data, layout=layout)    
py.iplot(fig, filename='Abstimmungsvarianz')


Out[5]:

In [ ]: