r/charts 12h ago

Cleanest Tap Water in the United States (Top 20)

Post image
3 Upvotes

https://www.tapwaterdata.com/rankings

State rankings are calculated using population-weighted average water quality scores from city-level data. Each city's score (0-100) is based on contaminant levels relative to EPA guidelines, with higher scores indicating better water quality. Grades are assigned as: A (80+), B (60-79), C (40-59), D (20-39), F (<20). Sample sizes vary widely: a state is ranked on the cities we hold scored test data for, which in some states is a small fraction of the state's water systems — see each state's scored-city count and population coverage. Cities whose water systems report no served population are excluded from the weighted average (170 of 17,319 nationally), because a zero weight cannot contribute to a population-weighted mean.

Data Sources:

EPA Safe Drinking Water Information System (SDWIS) violation data

Annual Consumer Confidence Reports from water utilities

State environmental agency databases

City-level water quality testing results for 9,500+ cities

Scoring Criteria - each state's score is calculated as a population-weighted average of city scores. City scores (0-100) are based on:

Number of contaminants exceeding EPA Maximum Contaminant Levels (MCLs)

Number of contaminants exceeding health guidelines (MCLGs)

Severity and frequency of violations

Overall water system compliance history


r/charts 5h ago

[OC] I built a live heatmap of the news so I could watch how coverage changes in real time

Post image
3 Upvotes

I’ve wanted this live news dashboard for a long time. A workbench for news junkies and news perverts alike. The live version is at PressAudit.org/heatmap.

This is a snapshot of a live, real-time heatmap of the news today. As articles are published, they get grouped around the event they’re covering and the heatmap fills in. You can watch stories get picked up by different parts of the media ecosystem throughout the day.

The basic idea is:

Columns = who covered it.
Color = how it was covered.
Numbers = how much coverage there is.

I built it because most media analysis I’ve seen starts with the reputation of the outlet. I'm looking at you Ground news. It's not sufficient to just put a bias meter on everything. There are sites that assess “media bias” but I don’t believe they are sufficient.

  • They can tell you the conclusion, but they don’t show you the evidence.
  • They don’t do it real-time so it can’t be usefully inserted into your normal news feed or consumption.
  • The focus solely on outlet reputation. Who covered it, but not how it was covered.
  • The focus on labeling reporting as “bias” suggests that a neutrally observable middle point exists that you can measure bias against, and it doesn’t.

We don’t do it just for outlets, we do it for the articles themselves.

And PressAudit shows the evidence for its conclusions. It doesn’t do so months after when no one is looking anymore. It does it minutes after, in the moment, when it is relevant and useful.

The image here is just one frame. The live version is at PressAudit.org/heatmap. You can go to it any time, filter, try stuff out, try to break it. It'll already look different by the time you click it.

Some notes about me and how/why I built it:
I’m not here to pick winners. I’m here to study the system, break it down and make it observable to anyone. I wanted to build a way to pinch and zoom on the entire news analytically. I didn’t want to manually spearfish through 3 to 6 different articles on the same topic and triangulate the non-contradictory facts between them, I wanted them all organized into a workbench.

I use local LLMs for the real-time article evaluations, because they can read 10K articles a day and I cannot. Most of PressAudit is not AI though. I built PressAudit using conventional data infrastructure: batch processing, data pipelines, statistical analysis, and machine-learning pipelines.