Advertisement · 728 × 90
#
Hashtag
#30DayChartChallenge
Advertisement · 728 × 90
Data visualization — a horizontal box plot chart titled **"Press Freedom is declining globally"** — showing RSF World Press Freedom Index scores for 180+ countries across 13 years (2013–2025), created by Ilya Kashnitsky (@ikashnitsky.phd) for the #30DayChartChallenge 2026, Day 06.

Each row represents one year on the vertical axis (labeled 2013 through 2025, reading top to bottom). The horizontal axis shows Press Freedom Score, ranging from approximately 0 on the left to just above 90 on the right, with gridlines at 25, 50, and 75. Individual country data points are rendered as small filled circles overlaid on white box-and-whisker outlines. Each circle is colored by world region: orange for Africa, green for Americas, red/pink for Asia, light blue for Europe, and purple for Oceania.

The box plots' interquartile ranges sit predominantly between scores of roughly 45 and 75, with long left-side whiskers reaching toward scores below 10, representing countries with severely restricted press freedom. The dense cluster of dots is heaviest between scores of 50 and 80. From 2013 to 2025, the entire distribution visibly shifts leftward — the boxes and median lines migrate from around 65–70 in 2013 toward approximately 55–60 by 2025 — illustrating a global decline in press freedom.

The box fill color transitions from teal-green (higher global average ~65) in 2013–2014 to orange-brown (lower global average ~55) by 2024–2025, encoded by a "Global average score" gradient color bar at the bottom, ranging from orange at 55.0 through yellow-green at 62.5 to teal at 65.0. European countries (light blue dots) consistently appear at the high-scoring right end, while Asian and African countries (red and orange dots) cluster toward the lower-scoring left end throughout all years. Data source credited as RSF World Press Freedom Index via Kaggle (vladyslavhubanov).

Data visualization — a horizontal box plot chart titled **"Press Freedom is declining globally"** — showing RSF World Press Freedom Index scores for 180+ countries across 13 years (2013–2025), created by Ilya Kashnitsky (@ikashnitsky.phd) for the #30DayChartChallenge 2026, Day 06. Each row represents one year on the vertical axis (labeled 2013 through 2025, reading top to bottom). The horizontal axis shows Press Freedom Score, ranging from approximately 0 on the left to just above 90 on the right, with gridlines at 25, 50, and 75. Individual country data points are rendered as small filled circles overlaid on white box-and-whisker outlines. Each circle is colored by world region: orange for Africa, green for Americas, red/pink for Asia, light blue for Europe, and purple for Oceania. The box plots' interquartile ranges sit predominantly between scores of roughly 45 and 75, with long left-side whiskers reaching toward scores below 10, representing countries with severely restricted press freedom. The dense cluster of dots is heaviest between scores of 50 and 80. From 2013 to 2025, the entire distribution visibly shifts leftward — the boxes and median lines migrate from around 65–70 in 2013 toward approximately 55–60 by 2025 — illustrating a global decline in press freedom. The box fill color transitions from teal-green (higher global average ~65) in 2013–2014 to orange-brown (lower global average ~55) by 2024–2025, encoded by a "Global average score" gradient color bar at the bottom, ranging from orange at 55.0 through yellow-green at 62.5 to teal at 65.0. European countries (light blue dots) consistently appear at the high-scoring right end, while Asian and African countries (red and orange dots) cluster toward the lower-scoring left end throughout all years. Data source credited as RSF World Press Freedom Index via Kaggle (vladyslavhubanov).

DAY 6 -- Reporters Without Borders #30DayChartChallenge 🗽
Press Freedom is in a steady decline across the world 🤐
🔗 #rstats code: github.com/ikashnitsky/...
🧙‍♂️ pplx chat: www.perplexity.ai/search/day-5...

2 1 0 0
A calendar-style chart showing press conferences organised or attended by former prime minister of India Manmohan Singh and current prime minister Narendra Modi. Years are arranged in columns and days of the month in rows, and days on which press conferences were held are marked, coloured based on whether the press meet happened in India, abroad or en route on a flight.

A calendar-style chart showing press conferences organised or attended by former prime minister of India Manmohan Singh and current prime minister Narendra Modi. Years are arranged in columns and days of the month in rows, and days on which press conferences were held are marked, coloured based on whether the press meet happened in India, abroad or en route on a flight.

#Day6: Reporters Without Borders
Press conferences held or attended by the current and former prime minister.
#30DayChartChallenge #dataviz

2 0 0 0
Small multiples slope chart of Reporters Without Borders, Press Freedom Index scores for African countries comparing 2022 to 2025. The facets are displayed in the shape of Africa. The predominantly red-shaded panels reveal that most countries experienced a decline in press freedom over this period. Eritrea, Egypt and Djibouti are among the most affected and only a handful of countries such as Mauritania, Gabon, and Zimbabwe are showing improvement.

Small multiples slope chart of Reporters Without Borders, Press Freedom Index scores for African countries comparing 2022 to 2025. The facets are displayed in the shape of Africa. The predominantly red-shaded panels reveal that most countries experienced a decline in press freedom over this period. Eritrea, Egypt and Djibouti are among the most affected and only a handful of countries such as Mauritania, Gabon, and Zimbabwe are showing improvement.

#30DayChartChallenge #Day6
Data day: Reporters Without Borders (or RSF)

This chart shows the change in the RSF Press Freedom Index between 2022 and 2025 across African countries

Code: github.com/rajodm/30Day...

#dataviz #rstats #ggplot2

5 2 1 0
An arrow chart showing the 10 biggest improvements and 10 biggest declines in RSF Press Freedom rankings between 2015 and 2025. Blue arrows point leftward — from a higher 2015 rank to a lower 2025 rank — indicating improvement in press freedom. Burgundy arrows point to the right, indicating decline. Top improvers include Gambia (+93 places), Montenegro, and North Macedonia. The biggest decliners include Nicaragua (−98 places), El Salvador, and Hong Kong. The x-axis runs from rank 1 (most free) on the left to rank 180 (least free) on the right. A gray dot marks each country's 2015 starting rank.

An arrow chart showing the 10 biggest improvements and 10 biggest declines in RSF Press Freedom rankings between 2015 and 2025. Blue arrows point leftward — from a higher 2015 rank to a lower 2025 rank — indicating improvement in press freedom. Burgundy arrows point to the right, indicating decline. Top improvers include Gambia (+93 places), Montenegro, and North Macedonia. The biggest decliners include Nicaragua (−98 places), El Salvador, and Hong Kong. The x-axis runs from rank 1 (most free) on the left to rank 180 (least free) on the right. A gray dot marks each country's 2015 starting rank.

📊 #30DayChartChallenge 2026 – day 06
.
Comparisons | Data Day — Reporters Without Borders
.
🔗 : stevenponce.netlify.app/data_visuali...
.
#rstats | #r4ds | #dataviz | #ggplot2

4 0 0 0
Paris 2026 municipal election, arrondissement by arrondissement. Each circle is one arrondissement, and the winning side sits on the outside ring: left where the left leads, right where the right leads. #30DayChartChallenge #dataviz #Paris #elections

Paris 2026 municipal election, arrondissement by arrondissement. Each circle is one arrondissement, and the winning side sits on the outside ring: left where the left leads, right where the right leads. #30DayChartChallenge #dataviz #Paris #elections

Paris 2026 municipal election, arrondissement by arrondissement. Each circle is one arrondissement, and the winning side sits on the outside ring: left where the left leads, right where the right leads. #30DayChartChallenge #dataviz #Paris #elections

3 0 0 0
Post image

Day 5 of #30DayChartChallenge — data art.
Each spiral is a country. Its length = years in school. From barely 1 to 14. Some barely get started. Others unwind freely.
That gap is what this is about.
Same data as Day 3 — UNESCO via Our World in Data.
#DataViz #RStats #Education

12 1 0 0
A series of three horizontal boxplots (facets) comparing CO2 emissions of car brands sold in France in 2015, categorized by engine type: Unleaded petrol, Diesel, and Hybrid.

A series of three horizontal boxplots (facets) comparing CO2 emissions of car brands sold in France in 2015, categorized by engine type: Unleaded petrol, Diesel, and Hybrid.

Day5 #30DayChartChallenge, today data on CO2 emissions of cars saled in France in 2015. The "experimental" part for me is that I used Python this time.

code here : github.com/MathieuGenu/...

#rstats #dataviz

3 0 0 0
Post image

#30DayChartChallenge Day 3 : Mosaics

All the #Minecraft blocks but vertically-sorted by presence of Red, Green, and Blue (RGB coding, from 0 to 255)

All 3 contain the exact same blocks

Top = color is high/full
Bottom = color is low/absent

(as for left-right, it's random)

#Rstats #dataviz

7 1 1 0
Mosaic chart showing population age structure (0–14, 15–64, 65+) for the top 10 economies in 2024. India and China have the largest populations and relatively younger age profiles, with over two-thirds in the working-age group. The United States shows a more balanced distribution, while Japan and Germany have the oldest populations, with a high share aged 65 and above. Each bar represents 100% of a country’s population, with total population in millions labeled alongside.

Mosaic chart showing population age structure (0–14, 15–64, 65+) for the top 10 economies in 2024. India and China have the largest populations and relatively younger age profiles, with over two-thirds in the working-age group. The United States shows a more balanced distribution, while Japan and Germany have the oldest populations, with a high share aged 65 and above. Each bar represents 100% of a country’s population, with total population in millions labeled alongside.

#Day3 of the #30DayChartChallenge: Mosaic
Fixing the mosaic chart, as the earlier version was effectively a stacked bar chart.
👥 Population Age Structure — Top 10 Economies
Built with #ggplot
#DataViz #population

1 0 0 0
Post image

Here's another day 5 experiment for the #30DayChartChallenge - I like this one much more! This starts to show the age-stretching of the top of the distribution a lot more... Is there a name for plots like this?

3 0 1 0
Slope chart showing annual sales in USD billions for Ozempic and Mounjaro between 2021 and 2025. Ozempic, shown in blue, grew from $5.1 billion in 2021 to $18.5 billion in 2025. Mounjaro, shown in red, launched in 2023 and reached $23.0 billion in 2025, overtaking Ozempic. Source: Novo Nordisk and Eli Lilly financial reports.

Slope chart showing annual sales in USD billions for Ozempic and Mounjaro between 2021 and 2025. Ozempic, shown in blue, grew from $5.1 billion in 2021 to $18.5 billion in 2025. Mounjaro, shown in red, launched in 2023 and reached $23.0 billion in 2025, overtaking Ozempic. Source: Novo Nordisk and Eli Lilly financial reports.

#Day4 of the #30DayChartChallenge: Slope
Ozempic vs Mounjaro sales ( 2021 - 2025 )
#DataViz #ozempic #mounjaro

4 1 0 0
Post image

#Día5 | Comparaciones – Experimental | #30DayChartChallenge. Experimenté agregando una sumatoria horizontal de observaciones en un boxplot sobre la capacidad endocraneana en especies del género Homo. Creada usando R con #ggplot2, #ggdist, #dplyr, #scales, #ggtext, #patchwork, #tibble y #tidyr.

4 1 0 0
Post image

Look at this spiky experiment for day 5 of the #30DayChartChallenge... I don't like that histograms have a bin-width parameter through which to editorialize. I tend to prefer narrower bins, so I took it... too far.

4 1 0 0

I made a mistake on my day 1 #30DayChartChallenge and used a data source that wasn't suited for the purpose with a few wrong data points :( Here's the fixed version. This source didn't include the 4 north atlantic seats, and I decided to not add them to keep it simple.

3 1 0 0
Post image

📊 #30DayChartChallenge | Day 5: Experimental

Wasn't sure what to visualize today, so I went back to the bread and butter of genomics: Sequencing Depth vs. Statistical Power. 🧬💻

#Bioinformatics #Genomics #DataViz #Biomath #Science #rstats

4 1 1 0
Dumbbell chart titled "Mind the Gap: Who Smokes More?" showing the gender gap in smoking for 8 countries. Each row has two dots connected by a line — orange for male, pink for female. Indonesia has the widest gap at 58.2 percentage points with 59.3% male and 1.1% female. China follows at 42.7 pp. Germany has the smallest gap at 2.1 pp. France shows 3.2 pp with both genders smoking around 30%. Countries are sorted by gap size. Data from WHO, 2025.

Dumbbell chart titled "Mind the Gap: Who Smokes More?" showing the gender gap in smoking for 8 countries. Each row has two dots connected by a line — orange for male, pink for female. Indonesia has the widest gap at 58.2 percentage points with 59.3% male and 1.1% female. China follows at 42.7 pp. Germany has the smallest gap at 2.1 pp. France shows 3.2 pp with both genders smoking around 30%. Countries are sorted by gap size. Data from WHO, 2025.

Day 05 #30DayChartChallenge — Experimental

Mind the gap.

Indonesia: 58 pp gap between male and female smoking. France: just 3 pp. very different cultures.

Data: WHO via World Population Review
Built with R + ggplot2

#DataViz #RStats

11 1 0 0
Video

That feeling when you’re battling against the headwind and others breeze past you without even pedalling.

#30DayChartChallenge | Day 5 - Experimental #dataviz 📊

14 4 2 0
A brightly colored abstract watercolor representing different branches of a family.

A brightly colored abstract watercolor representing different branches of a family.

Day 5 #30DayChartChallenge: Experimental

I played around with different ways to represent my family. It's not quite right, but I like this direction because it reminds me of saguaros at sunrise. 🌵

Earlier sketches in thread ✏️🎨

17 1 1 0
Sunny Coast Border Collies & Other Dogs. There are 2,879 Border Collies in the Sunshine Coast vs 50,843 other dogs. 1 circle = ~30 doggos. Border Collies shown in blue. Other breeds shown in yellow. 5% of the circles are blue. A ghostly dog outline is filled with circles. Chart: @DiDoesDigital. Icon: Dog by Daniel Ducrocq from Noun Project (CC BY 3.0). Data: Registered Animals, Sunshine Coast Council Open Data Platform, CC BY 3.0 License.

Sunny Coast Border Collies & Other Dogs. There are 2,879 Border Collies in the Sunshine Coast vs 50,843 other dogs. 1 circle = ~30 doggos. Border Collies shown in blue. Other breeds shown in yellow. 5% of the circles are blue. A ghostly dog outline is filled with circles. Chart: @DiDoesDigital. Icon: Dog by Daniel Ducrocq from Noun Project (CC BY 3.0). Data: Registered Animals, Sunshine Coast Council Open Data Platform, CC BY 3.0 License.

About 5% of the dogs in the Sunshine Coast region are Border Collies, the greatest of doggos.

#30DayChartChallenge

10 2 0 0
Horizontal stacked bar chart showing population age structure (0–14, 15–64, 65+) for the top 10 economies in 2024. India and China have the largest populations and relatively younger age profiles, with over two-thirds in the working-age group. The United States shows a more balanced distribution, while Japan and Germany have the oldest populations, with a high share aged 65 and above. Each bar represents 100% of a country’s population, with total population in millions labeled alongside.

Horizontal stacked bar chart showing population age structure (0–14, 15–64, 65+) for the top 10 economies in 2024. India and China have the largest populations and relatively younger age profiles, with over two-thirds in the working-age group. The United States shows a more balanced distribution, while Japan and Germany have the oldest populations, with a high share aged 65 and above. Each bar represents 100% of a country’s population, with total population in millions labeled alongside.

#Day3 of the #30DayChartChallenge: Mosaic
Catching up over the weekend!
👥 Population Age Structure — Top 10 Economies
Built with #ggplot
#DataViz #population

0 1 1 0
Chart:
Title: Democratic non-participants
Subtitle: A increasing amount of people in Denmark don't participate in the elections.

The graph shows a increase in people who don't vote at elections for the parliament. There's a clear increase in people who can't vote from about 1% in the 70's to +12% in 2026, while the people who can but don't fluctuates a bit.

Source is Danmarks Statistik.

Chart: Title: Democratic non-participants Subtitle: A increasing amount of people in Denmark don't participate in the elections. The graph shows a increase in people who don't vote at elections for the parliament. There's a clear increase in people who can't vote from about 1% in the 70's to +12% in 2026, while the people who can but don't fluctuates a bit. Source is Danmarks Statistik.

More than 25% of people living in Denmark didn't or couldn't vote at the 2026 election. A new record, again. #dataViz #30DayChartChallenge

2 1 1 0
Eulerr diagrams set up in a matrix arrangement showing diet overlap of predatory fishes in Florida. The size of the circle shows the size of the diet (scaled to the max diet size so the circle size is the same across plot for the same species). The overlap shows the proportion of prey shared. Very little overlap among species but that is a data shortage issue.

Eulerr diagrams set up in a matrix arrangement showing diet overlap of predatory fishes in Florida. The size of the circle shows the size of the diet (scaled to the max diet size so the circle size is the same across plot for the same species). The overlap shows the proportion of prey shared. Very little overlap among species but that is a data shortage issue.

#30DayChartChallenge #Day5 – Experimental
Diet overlap of some predatory fishes in Florida.
I've wanted to make something like this for a while. Admittedly, the data is not the best, but what I could pull together for the challenge. The concept is what I want to present.
1/3

#DataViz #Rstats

23 3 1 1
Post image

#30DayChartChallenge Day 5 - experimental

I have always loved Florence Nightingale's rose diagram, doubly so since reading @infowetrust.com 's book. This diagram shows all ranked games within each category of @boardgamegeek.com, as well as top 500 & 100.

Done in #rstats: github.com/drjohnrussel...

9 4 0 0
An experimental chart titled "Cold months fill the buses" with the subtitle "Bus ridership vs. temperature in Uppsala." Twelve center-aligned bars, one per month, are stacked vertically and arranged so the year wraps from June at the top through January in the middle to July at the bottom. Because the bars extend symmetrically from a central axis rather than from a baseline, the chart forms a leaf-like silhouette. Bar length encodes monthly bus ridership and bar color encodes average temperature: orange for warm months and indigo-blue for cold ones. Winter months such as January are longer, showing that Uppsala residents ride the bus more when it is cold. Source: UL and SMHI, 2024–2025 averages

An experimental chart titled "Cold months fill the buses" with the subtitle "Bus ridership vs. temperature in Uppsala." Twelve center-aligned bars, one per month, are stacked vertically and arranged so the year wraps from June at the top through January in the middle to July at the bottom. Because the bars extend symmetrically from a central axis rather than from a baseline, the chart forms a leaf-like silhouette. Bar length encodes monthly bus ridership and bar color encodes average temperature: orange for warm months and indigo-blue for cold ones. Winter months such as January are longer, showing that Uppsala residents ride the bus more when it is cold. Source: UL and SMHI, 2024–2025 averages

#day5 of #30DayChartChallenge, Experimental

code: github.com/gkaramanis/3...

#RStats #dataviz

14 1 2 0
Barcode strip plot showing the carbon intensity of electricity (gCO₂ per kWh, 2020–2023 average) for countries grouped by World Bank income classification. Each vertical tick represents one country. A taupe band marks the middle 50% (IQR) and a white-filled dot marks the group median. Groups are sorted from lowest to highest median: High income (250 g), Low income (256 g), Upper middle income (454 g), and Lower middle income (481 g). A dashed vertical line marks the global median. Notable outliers include Norway and Poland (High income), Ethiopia and Syria (Low income), Albania and Turkmenistan (Upper middle income), and Nepal and Uzbekistan (Lower middle income). Within-group variation is wide across all four groups, often rivaling differences between groups.

Barcode strip plot showing the carbon intensity of electricity (gCO₂ per kWh, 2020–2023 average) for countries grouped by World Bank income classification. Each vertical tick represents one country. A taupe band marks the middle 50% (IQR) and a white-filled dot marks the group median. Groups are sorted from lowest to highest median: High income (250 g), Low income (256 g), Upper middle income (454 g), and Lower middle income (481 g). A dashed vertical line marks the global median. Notable outliers include Norway and Poland (High income), Ethiopia and Syria (Low income), Albania and Turkmenistan (Upper middle income), and Nepal and Uzbekistan (Lower middle income). Within-group variation is wide across all four groups, often rivaling differences between groups.

📊 #30DayChartChallenge 2026 – day 05
.
Comparisons | Experimental
.
🔗 : stevenponce.netlify.app/data_visuali...
.
#rstats | #r4ds | #dataviz | #ggplot2

12 2 0 0

File under #slope for the #30DayChartChallenge

6 1 0 0
Radial chart showing population age structure by continent. Each panel represents a continent, with lines radiating from the center to indicate population size across age groups. Color encodes three categories (Young, Adult, and Old) while line length reflects population volume using a power scale to reduce differences between very large and very small countries.

Radial chart showing population age structure by continent. Each panel represents a continent, with lines radiating from the center to indicate population size across age groups. Color encodes three categories (Young, Adult, and Old) while line length reflects population volume using a power scale to reduce differences between very large and very small countries.

I made these... hum... pie charts a while ago. #30DayChartChallenge #Experiment

11 1 0 0
Gráfico polar de mancuernas (Dumbbell chart circular) titulado '¿La Expansión Energética?'. Muestra el cambio en el consumo de energía per cápita del G20 entre 2000 y 2022 dispuestos en círculo. Destaca la larga expansión hacia el exterior de países como China e India (aumento masivo de consumo), frente a la contracción hacia el centro de países europeos como Reino Unido o Alemania.

Gráfico polar de mancuernas (Dumbbell chart circular) titulado '¿La Expansión Energética?'. Muestra el cambio en el consumo de energía per cápita del G20 entre 2000 y 2022 dispuestos en círculo. Destaca la larga expansión hacia el exterior de países como China e India (aumento masivo de consumo), frente a la contracción hacia el centro de países europeos como Reino Unido o Alemania.

Día 5 del #30DayChartChallenge: Experimental 🌀. Consumo de energía per cápita en el G20. Un Dumbbell chart en coordenadas polares para ver quién se expande (ej. China) y quién se contrae (ej. Reino Unido) desde el 2000. #dataviz #rstats

8 2 0 0

#30DayChartChallenge
Day 5. #Experimental
Network map of twin cities around the world...
bsky.app/profile/both...
5/n

2 0 0 0
Video

Ever wondered what a network of twin cities around the world would look like? I grabbed some data from #Wikidata a while ago, and thought #Experimental day 5 of the #30DayChartChallenge was a good excuse to share this half-finished gizmo with the world. Enjoy! bothness.github.io/twin-cities/
1/3

17 7 1 2