jsoma / data-studio-projects

12 stars 18 forks source link

MPs' demographics over time [Project] #79

Closed marcelpauly closed 6 years ago

marcelpauly commented 7 years ago

Pitch

Summary

Gemany is going to elect a new Parliament in September. For this reason I want to have a look into the past parliamentary terms and find out how the Bundestag was composed of different demographic groups: How did the percentage of female MPs develop over time, how did the age distribution do so and how have different professions been represented?

Details

Possible headline(s): Germany's Representatives

Data set(s): the German parliament's so called data handbook (1949-1999, since 1990)

Code repository: https://github.com/marcelpauly/data-studio-projects/tree/master/code/mps_demographics

Possible problems/fears/questions: a lot of PDFs …

Work so far

I downloaded all the data from the past and the Bundestag emailed me the very latest data from the current parliamentary term. Unfortunately most of them are PDFs so right now I'm working on importing everything I need with Tabula …

Checklist

This checklist must be completed before you submit your draft.

marcelpauly commented 7 years ago

Update

Content

I imported all data with Tabula and tried different graphs: linecharts (normal and step lines), barcharts, scatterplots … In the end I did something in between these types to show both the developments over time and the comparison between the different parties:

women

average_age

new_mps

I also did a mobile version for the female MPs chart:

women_mobile

Any changes in direction or topic?

Nope.

Problems/Questions

They changed the categories of professions at some point so I couldn't analyse them in a way that makes sense.

I also plotted a heatmap with the age distributions. I did it with Seaborn. But when I open it in illustrator they don't have editable text. Is there anything besides matplotlib.rcParams['pdf.fonttype'] = 42 I have to do? (Also sns.set_style(rc={"pdf.fonttype": 42}) doesn’t change anything …)

index

Checklist

marcelpauly commented 7 years ago

Update

Content

I refined my visuals and created a mobile version for each one:

women

women_mobile

average_age

average_age_mobile

new_mps

new_mps_mobile

Any changes in direction or topic?

I'm not working any longer on that age groups heatmap but I want to do another visual: small multiples for the parliament's demographic groups (gender and age groups) compared with the population. I'm using population pyramids for that. They should show how young/old people and women are underrepresented and middle-aged men are highly overrepresented. (And how it changed over time.)

I'm still working on getting the data for this. Right now I only have it for 2013 and it looks like this:

test

Problems/Questions

Not sure if I get the data for the last one …

Checklist

MarinaBraem commented 7 years ago

Very impressive implementation and visualization. The pattern in the visualization speaks for itself and is exciting to follow. The application for mobile looks nice solved as well and I think, even if the legends are no longer visible by scrolling down, the topic is not overwhelming the reader. I like as well the last visualization with the age pyramid and the comparison between population/parliament (men/women). It's a meaningful comparison and speaks visually as well. Only one question: How works your x-scale?

marcelpauly commented 7 years ago

Wow, thank you very much! Right, in this draft I haven't labeled the x-axis yet. It's from 0 to 12 percent and represents the share a specific gender and age group has in the population/parliament.

marcelpauly commented 7 years ago

Final

Project visuals/text

Over the past days I worked on the small multiples with the population pyramids. I included the final version into the article. Here's a GIF preview of it:

pyramids

I didn't change my old three major graphics:

women

average_age

new_mps

Details

Headline: Demographically the German Bundestag is far away from being representative

Published website version: https://marcelpauly.github.io/data-studio-projects/mps_demographics/

Code repository: https://github.com/marcelpauly/data-studio-projects/tree/master/code/mps_demographics

Final data set(s): https://github.com/marcelpauly/data-studio-projects/tree/master/code/mps_demographics/input/data

What did you find to be the most difficult part of this project?

To find reliable data to create the population pyramids. The parliament only provides aggregated data grouped by gender or age groups and no raw data. That's why I had to scrape raw data about the MPs from Wikipedia and double-check it. That took the most time, I described the process in the notebook.

Are you satisfied with what you produced? Is there anything you would like to change or improve?

The small multiples and the GIF aren't perfect but on the whole I'm quite happy.

Checklist