|
|
|
|
@ -691,6 +691,19 @@ def _render_voting_results(voting_results_json) -> None: |
|
|
|
|
# --------------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _add_y_direction_annotations(fig: go.Figure) -> None: |
|
|
|
|
"""Add ▲ Progressief / ▼ Conservatief labels above and below the Y axis.""" |
|
|
|
|
common = dict( |
|
|
|
|
xref="paper", |
|
|
|
|
yref="paper", |
|
|
|
|
x=-0.07, |
|
|
|
|
showarrow=False, |
|
|
|
|
font=dict(size=11, color="#666666"), |
|
|
|
|
) |
|
|
|
|
fig.add_annotation(**common, y=1.02, text="▲ Progressief", xanchor="center") |
|
|
|
|
fig.add_annotation(**common, y=-0.06, text="▼ Conservatief", xanchor="center") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def build_compass_tab(db_path: str, window_size: str) -> None: |
|
|
|
|
st.subheader("Politiek Kompas") |
|
|
|
|
st.markdown( |
|
|
|
|
@ -809,7 +822,7 @@ def build_compass_tab(db_path: str, window_size: str) -> None: |
|
|
|
|
title=f"Politiek Kompas — {_window_label(window_idx)} (partijen)", |
|
|
|
|
labels={ |
|
|
|
|
"x": "Links ← → Rechts", |
|
|
|
|
"y": "Progressief ↑ / Conservatief ↓", |
|
|
|
|
"y": "Progressief / Conservatief", |
|
|
|
|
"n": "Kamerleden", |
|
|
|
|
}, |
|
|
|
|
) |
|
|
|
|
@ -827,7 +840,7 @@ def build_compass_tab(db_path: str, window_size: str) -> None: |
|
|
|
|
hover_data={"party": True, "x": ":.3f", "y": ":.3f"}, |
|
|
|
|
color_discrete_map=colour_map, |
|
|
|
|
title=f"Politiek Kompas — {_window_label(window_idx)}", |
|
|
|
|
labels={"x": "Links ← → Rechts", "y": "Progressief ↑ / Conservatief ↓"}, |
|
|
|
|
labels={"x": "Links ← → Rechts", "y": "Progressief / Conservatief"}, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
fig.update_layout( |
|
|
|
|
@ -836,6 +849,7 @@ def build_compass_tab(db_path: str, window_size: str) -> None: |
|
|
|
|
xaxis={"range": [-1, 1]}, |
|
|
|
|
yaxis={"range": [-0.6, 0.6]}, |
|
|
|
|
) |
|
|
|
|
_add_y_direction_annotations(fig) |
|
|
|
|
|
|
|
|
|
with col1: |
|
|
|
|
st.plotly_chart(fig, use_container_width=True) |
|
|
|
|
@ -921,10 +935,11 @@ def build_trajectories_tab(db_path: str, window_size: str) -> None: |
|
|
|
|
fig.update_layout( |
|
|
|
|
title="Partij trajectories", |
|
|
|
|
xaxis_title="Links ← → Rechts", |
|
|
|
|
yaxis_title="Progressief ↑ / Conservatief ↓", |
|
|
|
|
yaxis_title="Progressief / Conservatief", |
|
|
|
|
height=600, |
|
|
|
|
legend_title_text="Partij", |
|
|
|
|
) |
|
|
|
|
_add_y_direction_annotations(fig) |
|
|
|
|
st.plotly_chart(fig, use_container_width=True) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|