Further Reading: Theming and Branding


Tier 1: Essential Reading

BBC bbplot library. github.com/bbc/bbplot The BBC's open-source R library that encodes their data journalism brand. Even if you work in Python, read the code and documentation to understand how a brand can be packaged as a library.

matplotlib Style Sheets documentation. matplotlib.org/stable/tutorials/introductory/customizing.html The official matplotlib documentation on rcParams and style sheets. Essential reference for writing .mplstyle files.

Plotly Templates documentation. plotly.com/python/templates/ Official Plotly docs on creating and applying templates, including composition with the + operator.


Stylianou, Nassos, and Clara Guibourg. "How the BBC Visual and Data Journalism team works with graphics in R." BBC blog, 2019. The BBC blog post announcing bbplot with background on why and how the team built it. Directly relevant to Case Study 1.

Brewer, Cynthia A. Designing Better Maps: A Guide for GIS Users. Esri Press, 2016. Brewer is the creator of ColorBrewer. Her book covers color choices for quantitative data visualization in depth — much of the advice generalizes to non-map charts.

Wong, Bang. "Points of View: Color blindness." Nature Methods 8, no. 6 (2011): 441. The short paper introducing the Wong palette for colorblind-safe categorical data. Referenced throughout this chapter.

Airbnb Design Language. airbnb.design/designing-for-trust/ Airbnb's public design system documentation. Not a data visualization system specifically, but a model for how a large organization documents and maintains a visual brand.

Material Design by Google. material.io/design Google's comprehensive design system. Includes data visualization guidelines as a subsection. Study for the level of detail in a mature design system.

Tufte, Edward R. The Visual Display of Quantitative Information. Graphics Press, 1983. Tufte's classic. Not a brand system per se, but his prescriptions (minimize chart junk, maximize data-ink ratio) have shaped every serious data visualization brand since.


Tier 3: Tools and Online Resources

Resource URL / Source Description
FiveThirtyEight matplotlib style matplotlib.org (built in) plt.style.use("fivethirtyeight") applies the FiveThirtyEight-inspired style. Read the source for inspiration.
ColorBrewer colorbrewer2.org Cynthia Brewer's interactive tool for choosing colorblind-safe palettes. Essential for brand color selection.
Palette colorblind simulator color-blindness.com/coblis-color-blindness-simulator/ Test your palette for colorblind safety.
Adobe Color color.adobe.com Color palette generator with accessibility checks. Useful for building brand palettes.
Coolors coolors.co Quick palette generator. Good for iterating on color choices.
matplotlib rcParams reference matplotlib.org/stable/tutorials/introductory/customizing.html Full list of rcParams properties. Long but useful as a reference.
seaborn's set_theme seaborn.pydata.org/generated/seaborn.set_theme.html Seaborn's high-level theming function. Similar to matplotlib style sheets but with more semantic controls.
Vega-Lite themes vega.github.io/vega-themes/ Pre-built themes for Vega-Lite (and by extension Altair).
The Economist data blog economist.com/graphic-detail Regular data visualization examples in the Economist's distinctive style. Study for inspiration.
FiveThirtyEight fivethirtyeight.com Data journalism with a consistent style. Study for examples.
Pudding pudding.cool Data journalism with more elaborate, creative styling. Contrast with Economist and FiveThirtyEight.

A note on reading order: If you want one additional source, read the BBC bbplot README and source code — it's short, practical, and directly demonstrates how to package a brand as code. For theory on color and typography, Brewer and Wong are the starting points. For inspiration, spend an hour browsing Economist graphic-detail and FiveThirtyEight charts side-by-side; notice how each brand's style is recognizable after just a few examples.