overton analysis explorer page push
This commit is contained in:
@@ -185,18 +185,15 @@ def build_compass_tab(db_path: str, window_size: str) -> None:
|
||||
|
||||
with st.expander("Overton Window Context"):
|
||||
st.markdown(
|
||||
"The SVD compass visualizes the dynamics behind the "
|
||||
"**widening of the Overton window** in the Dutch parliament.\n\n"
|
||||
"Centrist support for right-wing motions rose from 25% to 51% after 2024, "
|
||||
"while support for left-wing motions stayed flat. The window widened: "
|
||||
"more right-wing positions became acceptable.\n\n"
|
||||
"But **centrist parties** (D66, CDA, CU, NSC) moved **left on both axes** "
|
||||
"while right-wing parties stayed put. This pattern of "
|
||||
'"acceptance without conversion" means right-wing parties filed milder '
|
||||
"motions, and centrists could vote along more often, "
|
||||
"The SVD compass reflects changes in voting patterns after 2024.\n\n"
|
||||
"Centrist support for right-wing motions rose from 25% to 51%, "
|
||||
"while support for left-wing motions stayed flat.\n\n"
|
||||
"Centrist parties (D66, CDA, CU, NSC) moved left on both axes "
|
||||
"while right-wing parties stayed put. Right-wing parties filed milder "
|
||||
"motions, so centrists could vote along more often "
|
||||
"without shifting ideologically to the right.\n\n"
|
||||
"[Read the full analysis](../reports/overton_window/overton_window.qmd)\n\n"
|
||||
"Try the **Stemwijzer quiz** to see which MP matches your positions."
|
||||
"Try the Stemwijzer quiz to see which MP matches your positions."
|
||||
)
|
||||
st.markdown("---")
|
||||
st.markdown(
|
||||
|
||||
@@ -17,9 +17,9 @@ def build_overton_tab(db_path: str) -> None:
|
||||
"""Build the Overton Window tab."""
|
||||
st.subheader("Overton Window Analysis")
|
||||
st.markdown(
|
||||
"The Overton window **widened** after 2024: centrist support for right-wing "
|
||||
"motions rose from 25% to 51%, while support for left-wing motions stayed flat. "
|
||||
"Right-wing parties filed milder motions, allowing centrists to vote along "
|
||||
"After 2024, centrist support for right-wing motions increased from 25% to 51%, "
|
||||
"while support for left-wing motions remained flat. "
|
||||
"Right-wing parties filed milder motions, so centrists could vote along "
|
||||
"without shifting ideologically."
|
||||
)
|
||||
|
||||
@@ -141,8 +141,8 @@ def _render_summary_stats(con: duckdb.DuckDBPyConnection) -> None:
|
||||
def _render_migration_gateway(con: duckdb.DuckDBPyConnection) -> None:
|
||||
st.subheader("Migration: the gateway domain")
|
||||
st.markdown(
|
||||
"Migration is where the Overton shift is most genuine, and where "
|
||||
"right-wing parties learned the frames they later applied to other domains."
|
||||
"Migration showed the largest shift in centrist support. "
|
||||
"Framing patterns first used here later appeared in other policy domains."
|
||||
)
|
||||
|
||||
df = con.execute("""
|
||||
@@ -197,7 +197,7 @@ def _render_motion_browser(con: duckdb.DuckDBPyConnection) -> None:
|
||||
df = df.rename(columns={
|
||||
"year": "Year",
|
||||
"title": "Title",
|
||||
"text": "Motion text",
|
||||
"body_text": "Motion text",
|
||||
"centrist_support_strict": "Centrist Support",
|
||||
"category": "Category",
|
||||
})
|
||||
|
||||
@@ -667,10 +667,9 @@ def build_trajectories_tab(db_path: str, window_size: str) -> None:
|
||||
try:
|
||||
st.plotly_chart(fig, use_container_width=True)
|
||||
st.info(
|
||||
"**Overton window widened:** after PVV's election victory (Nov 2023), "
|
||||
"centrist support for right-wing motions rose from 25% to 51%, "
|
||||
"After 2024, centrist support for right-wing motions rose from 25% to 51%, "
|
||||
"while support for left-wing motions stayed flat. "
|
||||
"Right-wing parties moderated their motions; centrists voted along more often."
|
||||
"Right-wing parties filed milder motions; centrists voted along more often."
|
||||
)
|
||||
except Exception as e:
|
||||
st.error(f"Trajectories rendering failed: {e}")
|
||||
|
||||
Reference in New Issue
Block a user