diff --git a/explorer.py b/explorer.py index aa5195b..3533b9d 100644 --- a/explorer.py +++ b/explorer.py @@ -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)