In [5]:
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/gewinner-kantone/alle-volksabstimmungen-resultate.csv", sep=";")#, encoding="ascii")
stimmberechtigte = pd.read_csv("https://raw.githubusercontent.com/Niederb/political_science/master/gewinner-kantone/stimmberechtigte.csv", sep=";")
data = df[list(df.columns[2:-1])] #df.ix[:,[2:5]]#'Schweiz':]
data_mat = data.as_matrix()
schweiz = data_mat[:, 0]
kantone = data_mat[:, 1:]
schweiz_thresholded = schweiz > 50
kantone_thresholded = kantone > 50
korrekt = schweiz_thresholded == kantone_thresholded.T
korrekt = korrekt.T
success_rate = np.mean(korrekt, 0)
radicality = np.mean(np.abs(kantone - 50.0), 0)
stimmberechtigte_2 = np.mean(stimmberechtigte.as_matrix(), 0)
kantonsnamen = list(stimmberechtigte)
In [8]:
trace = go.Scatter(
x = radicality,
y = stimmberechtigte_2,
mode = 'markers',
text=kantonsnamen,
marker = dict(
size = 20,
color = 'rgba(255, 161, 0, 1.0)',
line = dict(
width = 2,
)
),
)
layout = go.Layout(
hovermode = 'closest',
title='Radikalität vs Stimmberechtigte',
xaxis=dict(title='Radikalität'),
yaxis=dict(title='Anzahl Stimmberechtigte (Durchschnitt)')
)
data = [trace]
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename='radicality-size')
Out[8]:
In [9]:
trace = go.Scatter(
x = radicality,
y = success_rate,
mode = 'markers',
text=kantonsnamen,
marker = dict(
size = 20,
color = 'rgba(255, 161, 0, 1.0)',
line = dict(
width = 2,
)
),
)
layout = go.Layout(
hovermode = 'closest',
title='Radikalität vs Erfolgsrate',
xaxis=dict(title='Radikalität'),
yaxis=dict(title='Erfolgsrate in %'),
)
data = [trace]
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename='radicality-success')
Out[9]:
In [ ]: