A misleading chart rarely contains a false number. It misleads through design choices that each look defensible on their own, such as where the axis starts, which years are shown, whether values are totals or per person, and what the title says. The fastest way to learn to spot those choices is to make them yourself. In this activity, your group will take one real dataset and one question and build two charts. The white hat chart answers the question as honestly and clearly as you can. The black hat chart pushes the reader toward a conclusion the data does not support, while every number in it stays true.

Instructions

  1. Form a group of 2–4 people.
  2. Choose a dataset from the list below, or another real dataset if you state its source. Agree on one question that both charts will address.
  3. Build a white hat chart that answers the question as honestly and clearly as you can.
  4. Build a black hat chart from the same dataset, for the same question, following the rules below.
  5. Do not label your charts as white hat or black hat. The next phase of this activity depends on your classmates trying to detect which is which, so nothing in the chart titles, captions, annotations, or image file names should give it away.
  6. Export both charts as images and submit them using the Google Form on the course website. One submission per group, with everyone’s names included.

Rules for the black hat chart

  1. Every number shown must be true. You may not fabricate, alter, or mislabel data. The axis labels, the units, and the source line must be accurate.
  2. The deception must come from design. Examples include axis range and baseline, aspect ratio, time window, aggregation or binning, totals versus rates, dual axes, choice of comparison group, color, area or 3D effects, sort order, annotation, and the title.
  3. Have a target. Decide the specific false or exaggerated conclusion the reader should walk away with, and design toward it.
  4. Make it plausible. The best black hat chart could run in a news article or a company report without anyone objecting. If it looks like an obvious trick, it has failed.

The white hat chart uses the same dataset and answers the same question. It should be the chart you would defend to a skeptical reviewer.

Tools

Use anything: an agent, Vega-Lite, Python, a spreadsheet, or a mix. Agents are allowed and expected. Some agents will warn about, soften, or refuse a request for a misleading chart. If yours does, note what it did and how you worked around it. That is useful evidence of how agents handle this kind of request.

Datasets

All files are small, clean CSVs with one row per observation. Download all (zip). You may also use another real dataset if you state its source.

Dataset Rows Range Columns Source
Global temperature anomaly 146 1880–2025, annual year, anomaly_c (°C relative to 1951–1980) NASA GISTEMP v4
Atmospheric CO₂, Mauna Loa 823 1958–2026, monthly year, month, co2_ppm, co2_ppm_deseasonalized NOAA GML
CO₂ emissions by country 15,270 1950–2024, annual, 215 countries country, iso_code, year, population, co2_million_tonnes, co2_tonnes_per_capita, share_of_global_co2_pct Our World in Data
U.S. electricity by source 339 1985–2025, annual year, source (coal, gas, oil, nuclear, hydro, wind, solar, biofuel, other renewable), generation_twh Our World in Data
U.S. unemployment rate 945 1948–2026, monthly date, unemployment_rate_pct FRED, UNRATE
U.S. unemployment by industry 1,708 2000–2010, monthly, 14 industries industry, year, month, unemployed_thousands, unemployment_rate_pct vega-datasets (U.S. Bureau of Labor Statistics)
U.S. gas prices 1,881 1990–2026, weekly date, price_usd_per_gallon (regular, nominal dollars) FRED, GASREGW
Gapminder 682 1955–2005, every 5 years, 62 countries country, year, population, life_expectancy, fertility vega-datasets (Gapminder)
Natural disaster deaths 803 1900–2017, annual, by type disaster_type (includes an “All natural disasters” total), year, deaths vega-datasets (Our World in Data / EM-DAT)
Seattle weather 1,461 2012–2015, daily date, precipitation_mm, temp_max_c, temp_min_c, wind_m_per_s, weather vega-datasets (NOAA)
Great Salt Lake level 179 1847–2025, annual year, mean/min/max_elevation_ft, num_readings (few per year before 1989) USGS 10010000
Utah air quality by county 368 2000–2025, annual, 18 counties county, year, days_with_aqi, days in each AQI category, max_aqi, median_aqi, days_ozone, days_pm25 EPA AirData
Utah bachelor’s colleges 13 most recent cohorts name, city, control, undergrad_enrollment, admission_rate, avg_annual_cost_usd, completion_rate_6yr, median_debt_at_graduation_usd, median_earnings_10yr_usd College Scorecard