Skip to main content

Data Visualization Style Guide

This guide covers typography, layout, and color palettes to ensure consistency across all GEM charts, maps, and graphics — whether produced in Flourish, R, or other tools.

Below you can see an updated GEM-style chart, with annotations outlining the key characteristics of the main components that make up a plot. The specifications here are for the HTML styles developed for Flourish, where they stay consistent across different screen sizes.

Annotated example of a GEM diverging bar chart, with callouts labeling the typography and styling of each element: chart title (Plus Jakarta Sans Bold), subtitle and source text (Plus Jakarta Sans Regular), legend and axis text (Barlow Semi Condensed), gridlines (#CBCBCB, 0.5px solid), and GEM logo placement, all in brand color #3A4A50.

Typography

Fonts

  • Plus Jakarta Sans — used for chart header and footer text (titles, subtitles, source lines, notes).
  • Barlow Semi Condensed — used for all chart body text (axis labels, axis titles, legend text, data labels, annotations, small multiples headers).

Text color

All text elements use a single color now: #3A4A50 (dark teal-grey). When using colored text in charts, ensure enough contrast — follow WCAG guidelines and use the Colour Contrast Checker.

Text sizes and hierarchy

We maintain consistent ratios between text elements regardless of platform. The table below shows each element's ratio (relative to axis text as the base) and an example at a 16px base size.

Element Ratio Size with 16px base Font weight Line height
Title 1.75 28px Bold 1.2
Subtitle 1.125 18px Regular 1.45
Axis text 1 16px Regular 1.125
Axis title 1 16px Bold -
Legend text 1 16px Regular -
Annotations 1 16px Regular -
Small multiples 1 16px Regular 1.25
Source / footer 0.875 14px Regular -

The line heights above apply to Flourish. R uses slightly different values because static images scale differently than dynamic HTML — see the appendix below for platform-specific details. The appendix also includes full Flourish and R specs.


Color

A complete color guide lives in the GEM Color Guide Observable notebook. Below is a summary of the key palettes for quick reference.

Brand colors

Name Hex
Midnight #002430
Navy #004A63
Teal #016B83
Orange #FE4F2D
Mint (Data Viz) #A5E9E4
Warm White #F2F2EB
White #FFFFFF

Core categorical palette

Five color-blind friendly colors for categorical visualizations:

Name Hex
Teal #016B83
Orange #FE4F2D
Indigo #4A57A8
Deep Red #7F142A
Green #65BD8B

An extended core is available if needed, which adds four more colors:

Name Hex
Blue #099ED8
Clay Red #CA4A50
Midnight Green #004F61
Midnight Purple #061F5F

Full Color Guide

The color guide covers many topics, including:

  • Pop color guidance
  • Positive / negative / neutral colors
  • Sequential scales for various asset types
  • Diverging scales

Map style

This section covers static maps produced for reports, briefings, social media, and other GEM content, as well as basic interactive maps built in tools like Flourish. The basemap colors below are aligned with the 2026 tracker basemap so static maps and the live tracker maps read as one family.

Maps should follow the template above for 'what makes a GEM plot' and use the same fonts, font sizes and text hierarchy, colors, and spacing as the chart style.

Basemap colors

Element Hex Notes
Ocean / water #C8D5D9 -
Country in focus #C2C2C2 At 20-30% opacity
Land / other countries #F2F2EB Warm white (brand).
Borders #555555 At 40% opacity (rgba(85, 85, 85, 0.40)) for country borders; 18% for sub-national.
Border stroke - 1 pt (adjust per platform).

Elements such as border thickness/stroke however will depend on the platform or tool you are using to draw your map, the above value is a general guide - always make sure it looks right to you and adjust accordingly if needed.


Appendix

Flourish theme settings

Property Value
Main font Barlow Semi Condensed
Header/footer font Plus Jakarta Sans
Background color Transparent
Maximum width 800px (includes header and footer)
Layout order Header - controls - graphic
Margins 0 (all sides)
Borders None
Space between sections 32px
Header alignment Left

Flourish element specs

Element Property Value
Subtitle Space from title 8px
Axis title Padding (top) 12px
Gridlines Color #CBCBCB
Gridlines Style Solid
Gridlines Width 0.5px
Legend swatches Size 1.1 x 1.1 rem
Legend swatches Roundness 0 (square)
Legend swatches Gap between items 16px
Legend swatches Gap swatch to label 4px
Annotations Text outline #FFFFFF
Annotations Stroke width 2px
Annotations Stroke color #3A4A50
Annotations Line marker Open arrow
Annotations Max text width 20px
Footer Alignment Left
GEM Logo Position Bottom right
GEM Logo Height 40px
GEM Logo Margin 28px

R specs

R line heights

Where R line heights differ from Flourish:

Element Flourish R
Axis text 1.125 1
Small multiples 1.25 1.2
Source / footer - 1.2

R layout details

Property Value
Header/footer font Plus Jakarta Sans
Chart body font Barlow Semi Condensed
Background color #FFFFFF
Margins 0 (all sides)
Space: title to subtitle 8px
Space: subtitle to plot 24px
Gridline color #CBCBCB
Gridline width 0.5px
Open Color Guidance
Color palettes to tease full color guidance

Color Guidance