mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-08-03 11:07:00 -04:00
(pl)(census) final touches
This commit is contained in:
parent
9bb634b2ac
commit
002ca7c831
@ -3,6 +3,7 @@ import pandas as pd
|
||||
from pathlib import Path
|
||||
import plotly.express as px
|
||||
import plotly.io as pio
|
||||
import plotly.graph_objects as go
|
||||
import os
|
||||
from datetime import datetime
|
||||
import json
|
||||
@ -342,6 +343,58 @@ def build_ages_histogram(df: pd.DataFrame) -> pd.Series:
|
||||
})
|
||||
|
||||
|
||||
def generate_yearly_comparison(data: dict, show: bool = False):
|
||||
df = pd.DataFrame(data)
|
||||
|
||||
# Reshape to long format
|
||||
df_long = df.melt(id_vars="Form", var_name="Year", value_name="Percentage")
|
||||
|
||||
# Plot
|
||||
fig = px.line(df_long,
|
||||
x="Year", y="Percentage", color="Form",
|
||||
title="Trendy na przestrzeni lat",
|
||||
template="plotly_white",
|
||||
markers=True,
|
||||
#color_discrete_sequence=colours_multi,
|
||||
)
|
||||
|
||||
fig.update_traces(line=dict(width=4), marker=dict(size=8))
|
||||
|
||||
for trace in fig.select_traces():
|
||||
trace.update(
|
||||
hovertemplate='%{x}<br>%{y:.2f}%', # + '<extra></extra>',
|
||||
)
|
||||
|
||||
df_last_year = df_long[df_long["Year"] == df_long["Year"].max()]
|
||||
for _, row in df_last_year.iterrows():
|
||||
if row["Form"] == "Neutratywy":
|
||||
position = "bottom left"
|
||||
else:
|
||||
position = "top left"
|
||||
|
||||
fig.add_trace(go.Scatter(
|
||||
x=[row["Year"]],
|
||||
y=[row["Percentage"]],
|
||||
text=["<b>" + row["Form"] + "</b>"],
|
||||
mode="text",
|
||||
textposition=position,
|
||||
showlegend=False,
|
||||
hoverinfo="skip",
|
||||
textfont=dict(family=fontFamily, size=16),
|
||||
))
|
||||
|
||||
fig.update_layout(
|
||||
xaxis=None,
|
||||
yaxis_title="Procent (%)",
|
||||
showlegend=False,
|
||||
#legend=dict(orientation='h', yanchor='bottom', y=1.02, xanchor='right', x=1, title=''),
|
||||
font=dict(family=fontFamily, size=14),
|
||||
)
|
||||
|
||||
file_path = outputDir / 'year_by_year.html'
|
||||
pio.write_html(fig, file=file_path, auto_open=show or openFigs, include_plotlyjs='cdn')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = ArgumentParser()
|
||||
parser.add_argument('-s', '--show', dest='show', default=False, nargs='?', const=True)
|
||||
@ -358,6 +411,22 @@ if __name__ == '__main__':
|
||||
|
||||
diffs = [2021, 2022, 2023, 2024]
|
||||
|
||||
generate_yearly_comparison({
|
||||
"Form": [
|
||||
"Rodzaj neutralny",
|
||||
"Rodzaj postpłciowy",
|
||||
"Wyłącznie formy binarne",
|
||||
"Wyłącznie formy niebinarne",
|
||||
"Neutratywy",
|
||||
"Osobatywy"
|
||||
],
|
||||
"2021": [25.4, 8, 53.6, 8.4, 12, 66.7],
|
||||
"2022": [43.1, 11.8, 15.7, 15.5, 14.3, 65.4],
|
||||
"2023": [48, 9.3, 15.6, 18.2, 11.7, 67.5],
|
||||
"2024": [45.9, 6.2, 18, 19.4, 12.3, 68],
|
||||
"2025": [52.3, 8.6, 15.5, 18.9, 15.4, 74.4]
|
||||
})
|
||||
|
||||
stats = {
|
||||
'general': analyse('general', df, df, args.echo, diffs),
|
||||
'location_poland': analyse('location_poland', df[df['4_'] == 'w Polsce'], df, args.echo, diffs),
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Niebinarny Spis Powszechny 2025 – skrócony raport
|
||||
|
||||
<small>2025-06-15 | [@andrea](/@andrea), [@szymon](/@szymon), [@tymk](/@tymk)</small>
|
||||
<small>2025-06-29 | [@andrea](/@andrea), [@szymon](/@szymon), [@tymk](/@tymk)</small>
|
||||
|
||||
<img src="/img/pl/census/spis-2025.png" class="hero d-none" alt="">
|
||||
|
||||
@ -598,6 +598,8 @@ Wyłącznie formy niebinarne | 8.4%
|
||||
[Neutratywy](/neutratywy) | {json=spis-2021/general/stats.json=nouns.neutratywy}% | {json=spis-2022/general/stats.json=nouns.neutratywy}% | {json=spis-2023/general/stats.json=nouns.neutratywy}% | {json=spis-2024/general/stats.json=nouns.neutratywy}% | {json=spis-2025/general/stats.json=nouns.neutratywy}% |
|
||||
[Osobatywy](/osobatywy) | {json=spis-2021/general/stats.json=nouns.osobatywy}% | {json=spis-2022/general/stats.json=nouns.osobatywy}% | {json=spis-2023/general/stats.json=nouns.osobatywy}% | {json=spis-2024/general/stats.json=nouns.osobatywy}% | {json=spis-2025/general/stats.json=nouns.osobatywy}% |
|
||||
|
||||
{graph=/docs/pl/spis-2025/year_by_year}
|
||||
|
||||
## Ogólne wnioski
|
||||
|
||||
Wyniki naszego badania pokazują przede wszystkim **ogromną różnorodność** społeczności osób niebinarnych:
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Niebinarny Spis Powszechny 2025 – raport
|
||||
|
||||
<small>2025-06-15 | [@andrea](/@andrea), [@szymon](/@szymon), [@tymk](/@tymk)</small>
|
||||
<small>2025-06-29 | [@andrea](/@andrea), [@szymon](/@szymon), [@tymk](/@tymk)</small>
|
||||
|
||||
<img src="/img/pl/census/spis-2025.png" class="hero d-none" alt="">
|
||||
|
||||
@ -2282,7 +2282,7 @@ przejście części lub wszystkich pożądanych zabiegów, jak i zamiar przejśc
|
||||
|
||||
## Porównanie z poprzednimi edycjami
|
||||
|
||||
Forma | 2021 | 2022 | 2023 | 2024 | 2024 |
|
||||
Forma | 2021 | 2022 | 2023 | 2024 | 2025 |
|
||||
-----------------------------|-----------------------------------------------------------------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
|
||||
[Rodzaj neutralny](/ono) | {json=spis-2021/general/stats.json=pronounGroups.rodzaj neutralny}% | {json=spis-2022/general/stats.json=pronounGroups.rodzaj neutralny}% | {json=spis-2023/general/stats.json=pronounGroups.rodzaj neutralny}% | {json=spis-2024/general/stats.json=pronounGroups.rodzaj neutralny}% | {json=spis-2025/general/stats.json=pronounGroups.rodzaj neutralny}% |
|
||||
[Rodzaj postpłciowy](/onu) | {json=spis-2021/general/stats.json=pronounGroups.rodzaj postpłciowy}% | {json=spis-2022/general/stats.json=pronounGroups.rodzaj postpłciowy}% | {json=spis-2023/general/stats.json=pronounGroups.rodzaj postpłciowy}% | {json=spis-2024/general/stats.json=pronounGroups.rodzaj postpłciowy}% | {json=spis-2025/general/stats.json=pronounGroups.rodzaj postpłciowy}% |
|
||||
@ -2291,6 +2291,8 @@ Wyłącznie formy niebinarne | 8.4%
|
||||
[Neutratywy](/neutratywy) | {json=spis-2021/general/stats.json=nouns.neutratywy}% | {json=spis-2022/general/stats.json=nouns.neutratywy}% | {json=spis-2023/general/stats.json=nouns.neutratywy}% | {json=spis-2024/general/stats.json=nouns.neutratywy}% | {json=spis-2025/general/stats.json=nouns.neutratywy}% |
|
||||
[Osobatywy](/osobatywy) | {json=spis-2021/general/stats.json=nouns.osobatywy}% | {json=spis-2022/general/stats.json=nouns.osobatywy}% | {json=spis-2023/general/stats.json=nouns.osobatywy}% | {json=spis-2024/general/stats.json=nouns.osobatywy}% | {json=spis-2025/general/stats.json=nouns.osobatywy}% |
|
||||
|
||||
{graph=/docs/pl/spis-2025/year_by_year}
|
||||
|
||||
Pracujemy także nad raportem dokładniej porównującym wyniki *Spisów* na przestrzeni lat.
|
||||
By uczynić nasze dane bardziej dostępnymi dla międzynarodowej społeczności queerowej i akademickiej, będzie on dostępny po angielsku.
|
||||
|
||||
|
7
locale/pl/docs/spis-2025/year_by_year.html
Normal file
7
locale/pl/docs/spis-2025/year_by_year.html
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 2.1 MiB |
@ -135,6 +135,29 @@ W tym roku rozszerzyłośmy ankietę o pytania o używane imiona i ich odmianę.
|
||||
<p style="color: #999; font-size: 10px;">Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, <a href="https://zaimki.pl/api/subscription/unsubscribe?email={{emailEncoded}}&type=census">kliknij tutaj</a>.</p>
|
||||
`,
|
||||
},
|
||||
{
|
||||
name: 'spis-2025-raport',
|
||||
sendAt: new Date(2025, 5, 29, 0, 0, 0),
|
||||
type: 'census',
|
||||
locales: ['pl'],
|
||||
subject: 'Przedstawiamy raport z piątej edycji Niebinarnego Spisu Powszechnego!',
|
||||
text: `Już po raz piąty przeprowadziłośmy Niebinarny Spis Powszechny – największe badanie języka, jakim posługują się polskojęzyczne osoby niebinarne.
|
||||
|
||||
Report dostępny jest pod adresem https://zaimki.pl/blog/spis-2025, a wersja skrócona pod https://zaimki.pl/blog/spis-2025-skrocony – serdecznie zapraszamy do lektury 😉
|
||||
|
||||
(Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, wejdź na https://zaimki.pl/api/subscription/unsubscribe?email={{emailEncoded}}&type=census)
|
||||
`,
|
||||
html: `
|
||||
<p>Już po raz piąty przeprowadziłośmy Niebinarny Spis Powszechny – największe badanie języka, jakim posługują się polskojęzyczne osoby niebinarne.</p>
|
||||
<p>Report dostępny jest pod adresem <a href="https://zaimki.pl/blog/spis-2025" target="_blank" rel="noopener">zaimki.pl/blog/spis-2025</a>, a wersja skrócona pod <a href="https://zaimki.pl/blog/spis-2024-skrocony" target="_blank" rel="noopener">zaimki.pl/blog/spis-2024-skrocony</a> – serdecznie zapraszamy do lektury 😉</p>
|
||||
<p style="text-align: center; padding-top: 16px; padding-bottom: 16px;">
|
||||
<a href="https://zaimki.pl/blog/spis-2025" target="_blank" rel="noopener" style="background-color: #C71585; color: #fff; padding: 8px 16px; border: none; border-radius: 6px;text-decoration: none">
|
||||
zaimki.pl/blog/spis-2024
|
||||
</a>
|
||||
</p>
|
||||
<p style="color: #999; font-size: 10px;">Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, <a href="https://zaimki.pl/api/subscription/unsubscribe?email={{emailEncoded}}&type=census">kliknij tutaj</a>.</p>
|
||||
`,
|
||||
},
|
||||
];
|
||||
|
||||
async function calculate() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user