An ethical visualization exercise using per-capita GHG emissions data from the OECD (2014–2023)
This dataset from the Organisation for Economic Co-operation and Development (OECD)
reports annual per-capita greenhouse gas (GHG) emissions, expressed in
kilograms of CO2-equivalent per person (OECD SDMX: observation value × 103
for the published KG_CO2E_PS series), for 95 countries from 2014 to 2023.
Emissions exclude Land Use, Land-Use Change, and Forestry (LULUCF).
All major greenhouse gases (CO2, CH4, N2O, fluorinated gases) are included
and standardized to CO2-equivalent using Global Warming Potentials (GWP).
The two visualizations below each select a meaningful subset and apply different
transformations to explore how design choices can clarify or distort the story.
Download the OECD extract (CSV) used as the source for the values shown in the charts.
Try it: Click a country’s cumulative bar (or its line / end label) to focus that series in the line chart. A readout appears with a second derived statistic: percent change from the 2014 baseline to the latest year available. Click again (or use Clear focus) to show all countries.
Dataset & subset. Eight countries were selected to represent a broad range of per-capita emission profiles: Australia and Canada (historically the highest among OECD nations), the United States, Germany, Japan, the United Kingdom, France, and Sweden. All have at least nine continuous years of data, enabling a reliable trend comparison. Regional aggregates (e.g., "OECD America") were excluded to avoid double-counting and to keep the focus on nation-level accountability.
Data transformation. Beyond plotting the raw annual values, a second derived metric was computed: cumulative per-capita emissions, the sum of each country's annual values across the decade (2014–2023). This aggregate reveals the total atmospheric burden each country's residents have contributed per person over ten years, a quantity not visible from a trend line alone. Australia's cumulative total (~217,000 kg CO2e per person over the decade) is more than four times Sweden's (~49,000 kg), even though both show modest year-on-year declines.
This meets the assignment expectation that more advanced transformations—additional calculations and aggregations—extend the dataset in a useful way: the decade sum is an explicit aggregation, and the interactive panel adds a further calculation, each country’s percentage change from the 2014 baseline to its last reported year (documented under Extra Credit Features below).
Marks & encodings. The left panel uses a multi-line time-series with the y-axis anchored at zero, so the visual slopes faithfully represent proportional change. Each country receives a distinct ColorBrewer-inspired hue; end-of-line labels eliminate the need to cross-reference a legend. The right panel uses a horizontal bar chart sorted by cumulative total, reinforcing the key finding: annual declines are real but modest against a backdrop of very high accumulated emissions. An asterisk flags the United States (data through 2022 only) to prevent misinterpretation. Optional linked views (see Extra Credit) tie the bar ranking to the temporal detail in the line chart.
Titles, labels & source transparency. Both charts carry subtitles that specify the unit, the LULUCF exclusion, and the data source. The note about LULUCF is important because including forestry sinks would make some high-emitting countries appear significantly greener; omitting this disclaimer would be misleading. The data source (OECD GHG Inventories, 2024) is cited in full.
Technique 1: Truncated x-axis on a bar chart (marks & encodings). The horizontal axis begins at 5,000 kg instead of zero. Unlike a line chart where truncation distorts slopes, truncating the baseline of a bar chart violates a foundational convention: bars are understood to encode value as length from zero. Here, Denmark's 2019 bar (7,871 kg) is visually ~2.2× longer than its 2023 bar (6,558 kg), but the true ratio is only 1.2×. Luxembourg's bars look like an 85% drop in bar length visually, when the actual reduction is 33%. Because readers rarely check whether bar charts start at zero, this technique is particularly effective and common in poorly-reviewed infographics and press releases.
Technique 2: Endpoint selection that buries COVID (data transformation). The chart shows only the 2019 and 2023 values, silently skipping all intermediate years. This hides the fact that the steepest drop occurred in 2020, a year when economies contracted sharply due to COVID-19 lockdowns, not climate policy. Estonia's 2022 value (10,480 kg) was actually higher than its 2019 value; showing only the endpoints conceals this reversal entirely. Furthermore, only the six European nations with the largest reductions since 2019 were selected; countries that stagnated or increased (e.g., Russia +2.4%, Turkey +13%) are omitted with no disclosure, making the cherry-picked sample appear representative of a global shift.
Technique 3: "Pre-pandemic baseline" framing & reduction badges (titles & labels). Labeling 2019 as the "pre-pandemic baseline" sounds scientifically neutral, but it is a deliberate choice to maximize the apparent improvement by using a year when emissions were still near their recent peak. The green "↓ X%" reduction badges are numerically accurate, yet they serve as authority anchors that cause readers to trust the visual, which exaggerates those same percentages by 1.5–2.2× due to the truncated axis. The subtitle ("all nations met or exceeded the 15% pre-pandemic reduction target") implies an official threshold exists; no such uniform international target is defined for these specific countries, and the framing omits that even after these reductions, Luxembourg (~11,700 kg per person in 2023) still emits nearly three times Sweden's entire per-capita footprint (~4,200 kg).
For grading: features we believe go beyond the base assignment requirements, with brief justification (per course policy: quality and intent; undocumented features are not eligible).
What it is. The cumulative bar chart and the multi-line chart are linked:
clicking a country’s bar, its trend line, or its end label focuses that country—other series
fade—and a live panel (aria-live) reports percent change from 2014 to the
latest year in that series (e.g. 2023, or 2022 for the United States). “Clear focus” resets the view.
Why it is advanced. Coordinated multiple-view interaction is standard in professional visualization tools but is not required for a static two-chart deliverable. The baseline % metric is a third derived quantity (after annual values and decade cumulative totals), computed on the fly from the same cleaned per-country arrays.
How it goes beyond the requirements. Base specs ask for ethical white-hat / black-hat
charts and write-ups; they do not require cross-panel interaction, stateful UI, or an additional
normalized index (2014 = 100%). This feature is implemented in js/charts.js
(toggleWhiteHatFocus, pctChange2014ToLatest) and wired in the white-hat section above.
Documented here separately from Extra Credit Features, per the course’s two-category structure (declared features vs. AI usage and equity).
Claude (Anthropic) was used to assist in this project. Specifically, it helped parse and summarize the raw OECD CSV, suggest which subset of countries would best illustrate the contrast between high and low emitters, and draft the initial D3.js chart skeletons. All design decisions, including axis ranges, color palettes, choice of misleading techniques for the black-hat, linked-view interaction, and the write-up narratives, were authored and reviewed by the team. The final HTML/CSS was substantially revised from the AI-suggested skeleton to improve layout, add the cumulative-emissions transformation, refine the black-hat annotations, and add extra-credit interaction.
Team & time. This was a two-person submission by
Raghav Chakravarthy and Dheer Guda. We began with a shared
data-cleaning phase (approximately 1.5 person-hours each): parsing the OECD CSV in
data/, filtering out regional aggregates, and choosing countries with enough
continuous years for fair comparison. Total development time was roughly 8 person-hours
across both teammates, including review and iteration.
Dheer Guda led the white-hat work: the multi-country line chart (2014–2023, y-axis from zero, COVID band), the cumulative per-capita horizontal bar chart and its derived totals, the linked-view focus interaction and 2014-baseline % readout (Extra Credit), and the Design Rationale write-up (subset choice, cumulative transformation, encodings, and source transparency), and helped integrate layout and styling with the shared CSS structure.
Raghav Chakravarthy led the black-hat work: the paired 2019 vs. 2023 horizontal bar chart (including the truncated x-axis, endpoint selection, and reduction badges), the Deceptive Techniques (Exposed) write-up that names each technique, and fixed D3/SVG spacing so axis ticks, legend, and labels did not overlap.
What took the most time. The white-hat cumulative bar required the most conceptual effort—making the decade sum add real insight rather than decoration. The black-hat side needed several passes to tune which countries and years produced a distortion that was subtle but still teachable. Shared layout polish (two-panel white-hat row plus full-width black-hat card) took longer than expected.
Tooling. D3.js v7 for visualization; HTML/CSS in css/styles.css;
JavaScript in js/charts.js; Python for early data exploration; Claude (Anthropic)
for parsing help and draft chart scaffolding as noted above.