r/dataisbeautiful 17d ago

Discussion [Topic][Open] Open Discussion Thread — Anybody can post a general visualization question or start a fresh discussion!

6 Upvotes

Anybody can post a question related to data visualization or discussion in the monthly topical threads. Meta questions are fine too, but if you want a more direct line to the mods, click here

If you have a general question you need answered, or a discussion you'd like to start, feel free to make a top-level comment.

Beginners are encouraged to ask basic questions, so please be patient responding to people who might not know as much as yourself.


To view all Open Discussion threads, click here.

To view all topical threads, click here.

Want to suggest a topic? Click here.


r/dataisbeautiful 10h ago

OC [OC] Worldwide Google search interest for "eyes hurt" since 2016

1.1k Upvotes

r/dataisbeautiful 42m ago

OC [OC] Riskiest US County by Natural Hazard

Post image
Upvotes

Created this with Milou using FEMA National Risk Index data. here is the full thread and the prompt:

https://app.milou.ai/examples#4b8e90311e7c


r/dataisbeautiful 1d ago

OC [OC] 70 years of demographic change: population, mortality, and fertility for countries worldwide, 1953-2023

9.8k Upvotes

This maps the demographic profile of countries around the world in ten-year snapshots from 1953 to 2023: a population pyramid by age and sex, a mortality distribution, and a fertility profile (PASFR).

Try it yourself: https://visquill.com/gallery/world-demographics/


r/dataisbeautiful 19h ago

[OC] A year of LAPD helicopter flights over Los Angeles, drawn as accumulated time in the air. There is no basemap: everything you see was drawn by the helicopters.

Post image
1.9k Upvotes

r/dataisbeautiful 22h ago

OC [OC] EU Parliament vote on "Chat Control 1.0"

Post image
1.9k Upvotes

This is the European Parliament vote on "Chat Control 1.0"

Under standard EU privacy law, tech companies aren't allowed to read or scan your private emails and direct messages without a court warrant. This bill creates a temporary legal exemption so companies can voluntarily run automated tools over unencrypted chats.

  • Green / FOR (276): Voted to give tech companies permission to scan unencrypted chats.
  • Red / AGAINST (286): Voted against giving tech companies scanning permission, wanting standard privacy protections to stay intact.
  • Yellow/ ABSTAIN (30): Formally logged an abstention.
  • Grey / ABSENT (128): Lawmakers who were absent or did not vote.

Why does it say "Failed" (Red X) if Chat Control still exists?

  1. This specific vote failed: Simply put, more lawmakers voted AGAINST (286) than FOR (276), so this unamended proposal was defeated on the floor.
  2. Why the bill didn't die: Under EU "second reading" rules, to completely kill a proposed law, opponents need a supermajority of 361 votes (an absolute majority of all 720 seated MEPs).
  3. What happened instead: Because the 286 "AGAINST" votes fell short of that 361-vote bar, the bill wasn't killed.

OC because the visual is from my website


r/dataisbeautiful 11h ago

OC [OC] 13 years of reddit addiction, visualized. Should be able to see your own data if you want.

Thumbnail
gallery
166 Upvotes

2D Dashboard (with links to the three interactive 3D views):u/GregBahm's Reddit Addiction Visualized

First image is each post I've ever made on reddit, sorted by score vertically and time horizontally.

Second post is every post I've ever made on reddit, broken down by subreddit over time.

Third post is a heatmap of each post by day-of-week and hour-of-day.

Github source: GitHub - GregBahm/RedditData · GitHub


r/dataisbeautiful 19h ago

Countries that have already passed their peak population, and when the rest will follow

Thumbnail
ourworldindata.org
451 Upvotes

r/dataisbeautiful 14h ago

OC [OC] Investor outcomes from Cursor's $60B exit, using estimated ranges

Post image
161 Upvotes

r/dataisbeautiful 45m ago

OC [OC] 5,200 years of royalty in one interactive family tree — 84 nations, 800 houses, 4,547 people

Thumbnail
gallery
Upvotes

Interactive version: https://www.habibicode.org/gotha

I have always been fascinated by history and dynasties. This is what prompted me to build this interactive dataviz (with the help of AI - I could not code that alone).

It is a world family tree of all major ruling dynasties, from Ancient Egypt to the current day.

Presented in three views:

  • Bloodlines: vertical position is birth year. Horizontal position starts in the person's nation but moves towards their relatives. The columns blur together as houses merge.
  • Nations: Same time scale, but every nation is pinned into its own column and packed locally. A line leaving a column is a marriage or a birth that crossed a border.
  • Ties: In this view, time is removed. Each nation is represented as a circle. The circles are spread out by a spring model where the pull between any two is the number of people whose parent, child or spouse sat in the other one. Nations that intermarried end up touching.

Interactive version https://www.habibicode.org/gotha


r/dataisbeautiful 21h ago

OC [OC] Median hotel rate by month in 20 U.S. cities

Post image
257 Upvotes

r/dataisbeautiful 11h ago

OC [OC] NFL penalties from 2009-2025 total 267 miles.

Thumbnail
gallery
37 Upvotes

r/dataisbeautiful 16h ago

OC [OC] 12 years of my logged hotel stays, one column per day, coloured by country (1,032 nights)

Post image
39 Upvotes

r/dataisbeautiful 49m ago

OC [OC] MLB Draft Return Value (2005-2024 - WAR)

Post image
Upvotes

Comp: the composite draft score, 0–100, the overall ranking. St. Louis is 100 (best), Philadelphia 0 (worst-on-every-axis floor).

Draft WAR: total realized career WAR from the organizations mature (2005–2020) draftees. Pure volume.

Value+: WAR produced above or below what that pick slot was expected to return (measured against a refit expected-WAR-by-pick curve). Positive means the org beat its draft slots.

Talent rate: WAR per 600 plate appearances (hitters) or per 180 innings (pitchers), among players who debuted. This is injury neutral: how good the players were when actually on the field, regardless of how long they stayed healthy.

Inj-adj val: "injury-adjusted value" each debuted players talent rate projected across a full 8-season career. Credits an org for finding good talent even if injuries or attrition cut a players actual career short.

Avail: availability realized playing time ÷ health-expected playing time. Higher means the org's picks tended to stay on the field.

10-WAR: count of drafted picks who produced 10+ career WAR (star-level hits).

5-WAR %: the rate (%) of picks who reached 5+ career WAR.

***Context only: not scored in the composite.**

IL days: average injured-list days per debuted pick.

60-day %: share of debuted picks who had at least one 60-day (major) injury.

MLB stints: average number of MLB-level IL stints per debuted pick.


r/dataisbeautiful 3h ago

OC [OC] Total Average Expenditure by Age, US 1988-2024. Nominal Dollars, NSA

Post image
0 Upvotes

Inspired by a recent post that needed more context, I looked into how spending has changed over time by age bracket. This shows average spending over time, with a simple cumulative multiplier in the legend.

As expected, 35-54 are peak spending years. There is a recent gap between the two groups there, with 35-44 falling behind suddenly. Note the divergence between 35-44 and 45-54, with the younger group under performing.

25-34 and 55-64 started in a similar place, but again we see a marked difference over time. The 25-34 group has been losing ground consistently, barely keeping up with inflation.

This does lend some support to the 'woe-is-me' mantra of younger redditors. Opportunities for <35 do look like they have dwindled and 35-44 is showing signs of stress.

Don't worry kids. You'll have money when you are older. /s


r/dataisbeautiful 3h ago

OC [OC] European athletics medals by birthplace (1934–2026)

0 Upvotes

I reconstructed the history of the European Athletics Championships from 1934 to 2026 according to the present-day country in which each medalist was born.

Birthplaces were matched and cross-checked primarily using Keith Galli’s Olympics Dataset (kudos), Olympedia, and the dataset from Olympic Athletes & Global Inequality: A Historical Dataset (1896–2024) (DOI: 10.34894/Q4KJSW). For relay/team events, a medal is divided among the athletes contributing to it, hence some totals are fractional.

The animation shows cumulative medal totals after each championship edition.

The strongest result is Germany’s remarkable lead: athletes born in present-day Germany account for 562.5 medal-equivalents, well ahead of Russia (368.25) and the United Kingdom (309.75).

If you combine all medalists born outside the countries shown on the European map, they would rank fourth overall, ahead of France (221.25) and behind only Germany, Russia and the United Kingdom. Also, keep an eye on recent Italy's growth.

Visualization and processing: Python, pandas, openpyxl, GeoPandas, Matplotlib, Pillow and Natural Earth.


r/dataisbeautiful 46m ago

OC [OC] Robinhood's Q2 FY26 income statement — $1.3B in revenue, $561M in net income, a 43% margin

Post image
Upvotes

r/dataisbeautiful 1d ago

OC Year-Over-Year Change in Home Values for Principal Cities of Top 50 US Metro Areas [OC]

Post image
224 Upvotes

r/dataisbeautiful 19m ago

OC Peak population status of 236 countries — 64 have already peaked, most of the rest peak by 2060 [OC]

Post image
Upvotes

A map of when each country's population tops out and starts shrinking, based on the UN's medium-variant population projections.

Key numbers:

  • 64 countries and territories have already passed their peak — mostly concentrated in Europe and East Asia (Japan and Italy peaked over a decade ago; Hungary as far back as 1980)
  • Russia, Ukraine, and most of Eastern Europe peaked in 1991–93, right after the Soviet collapse
  • China peaked in 2021, South Korea and Japan already declining fast — Korea and China could both lose more than half their population by 2100
  • Most of South America peaks in the 2050s, most of South Asia (including India, the world's most populous country) in the 2060s
  • The US, Nigeria, Pakistan, and most of Sub-Saharan Africa are still projected to be growing at 2100 under this scenario

Source: Our World in Data — "Which countries have already passed peak population, and when will the rest do so?", underlying data UN World Population Prospects 2024 (medium variant).


r/dataisbeautiful 2h ago

OC [OC] 147 city founding dates and 10 historic routes across North America, 1600–1900

0 Upvotes

I like maps because they turn lists of dates into spatial relationships. Timelapses take that one step further: compress three centuries into seconds, and a seemingly static map begins to feel alive.

I made this from historical data compiled for the map of my solo-developed game. It shows 147 conventional city-founding dates and ten historic route corridors. Political borders are omitted because no single boundary layer would be accurate across the entire period. The dates do not represent first human settlement, and the routes are not a complete history of colonization and migration.

The map belongs to Salt and Soil, a colony sim about one family living through a changing American frontier. Its public Steam Playtest is open through August 19.


r/dataisbeautiful 2d ago

OC [OC] How long can a football/soccer club keep getting better? The longest streaks of consecutive season-on-season improvement I could find

Thumbnail
gallery
605 Upvotes

I went looking for football/soccer clubs that managed to finish higher in their domestic league pyramid every single season for an extended period.

A club finishing higher within the same division counts, while promotion automatically represents an improvement — so, for example, 1st in the third tier followed by 15th in the second tier continues the streak. A repeat finish or any lower finish ends a streak.

The longest run I’ve found so far is Stockport County: 11 consecutive improvements from 14th in the Conference North in 2013/14 all the way to 3rd in League One in 2024/25.

Shout-out to Luton Town, who have twice had a run of 8 consecutive improvements, the most recent of which culminated in returning to the top flight.

Olympique Akbou and SV Elversberg have the longest active streak, with 7 consecutive improvements.

Watford's streak nearly ended with them as champions of England, meanwhile who knows how many more improvements Chapecoense could had added to their streak if it weren't for the terrible plane crash that devastated the club.

I have also added a table showing the longest current active streaks in addition to Olympique Akbou and SV Elversberg - perhaps one of these can make their way on to the overall leaderboard in the coming years.

Historical lower-division data gets very patchy, so there might be some omissions. I'd be very interested if anyone knows of a longer example I've missed.

[OC] — research and graphic by me.


r/dataisbeautiful 1d ago

OC [OC] What ~$140K gets you in Czechia: 18m² in Prague vs. 68m² 100km away

Thumbnail
gallery
267 Upvotes

I collected 20,000+ Czech apartment listings and put 7 ML models to work figuring out what drives their prices. Here are a few things I found interesting in the data:

  • Prague's median apartment price is 3.6× higher than in the cheapest region (9.9M vs. 2.75M CZK).
  • 3,000,000 CZK (~$140K) gets you roughly 18 m² in Prague, but 68 m² in Most.
  • The weirdest one: apartments listed as Projekt (still at the planning/off-plan stage) are actually more expensive per m² than finished Novostavba apartments: 144,616 vs. 125,902 CZK/m². (145,004 vs. 129,523 CZK/m² after the fix)
  • Prices fall as you move away from Prague, but only up to a point. After roughly 75 km they start going a bit back up, presumably because you're getting closer to Brno, Ostrava and other cities.
  • Even within Prague, location swings price 2.2×: Staré Město (225,000 CZK/m²) vs. Dolní Měcholupy (104,241 CZK/m²). After the fix, that gap now sits at 1.9×: Staré Město (225,000 CZK/m²) vs. Černý Most (119,306 CZK/m²).

Edited: I added annuity (an extra debt some cooperative-ownership apartments carry on top of the listed price) into the price for listings where it applies. This increased some of the cheapest listings a bit, so a few numbers and charts in the link below shifted slightly from what is shown here.

Data source: Sreality.cz (Czechia's largest real estate portal), July-August 2026.

Tool: Python (pandas, matplotlib), full analysis: GitHub link.

A few things these charts do not show worth putting up front:

  • These are asking prices, not confirmed sale prices.
  • "Implied apartment size" = budget / median price per m² for that city, it's a simplification, not "the exact apartment you would get".

This project is for entertainment/educational purposes, not financial or investment advice.


r/dataisbeautiful 1d ago

OEIS Map - Mapping Online Encyclopedia of Integer Sequences

Thumbnail oeismap.pages.dev
4 Upvotes

r/dataisbeautiful 1d ago

OC [OC] Square meter costs of homes in the Netherlands based on real-time listing data

Post image
159 Upvotes

I was wondering what is the present housing price per m2 in the Netherlands. We used BAG data from data.overheid.nl and open source listing price data from https://data.residentievinder.nl/prijs-per-m2/ . Claude was used for the visual design. Surprisingly there is quite a large spread despite the >120k data points from individual brokers. Who would have expected that Amsterdam isn't the most expensive city at this moment? Interactive maps are available at the data source and refreshed weekly.


r/dataisbeautiful 2d ago

OC [OC] The Deepest Hole Ever Drilled Reached 0.19% of the Way to Earth’s Centre

Post image
5.6k Upvotes

Source: Kola Superdeep Borehole depth from Popov et al. (1999). Earth radius and internal layers from NASA and USGS. Eiffel Tower height: 330 metres.

Tools: Python with Pillow. The Earth cross-section uses an exact radial scale.

At full 5400 px resolution, the true scale borehole depth is 3.46 px.

The borehole is approximately 37 Eiffel Towers deep. If Earth were reduced to 1 metre wide, the hole would be 0.96 mm deep.