Chart strategy board

Reskin-only (no UX or layout changes). Same four chart types rendered three ways, plus role-coded heatmaps built on the Frost heatmap look Faina approved. Mock data. Light theme only. Anything marked proposal is new and not yet approved.

1 · What we start from

Everything below is read from the files in this project, not from memory of the legacy brand.

Heatmap ramp (approved Frost look) approved

From the three Frost heatmap pages. Hatched cell = zero. s4 was nudged to pass 4.5:1.

Frost status badges approved

Success #007F31Warning #B05500Danger #D90065Info #0072BDNeutral #4B5562Muted #736E67

From Frost-status-badges-final.html. Note danger is magenta-pink, not red, and warning is a deep orange. Storybook still lists a separate red failure/destructive token; see the open question in the spec.

Approved left-nav rails (10) approved

From left-nav-gradients-spec-final.html: blue-green through violet to rose, plus a gray internal rail. No gold. This replaces the 64 tuner presets I showed earlier.

Storybook colors: read from four screenshots (legacy primary, secondary blue, decorative green and gold, plus bright status colors with 50–900 ramps). Hex values are approximate. It says green and gold are decorative-only and status uses the accessible inks.

2 · Role ramps for heatmap groups

One 5-step ramp per role, built on the same lightness steps as the approved blue ramp so a cell at "level 3" means the same intensity in every role. Hue identifies the role; darkness always means more.

Why these hues: green, rose and magenta ramps already exist in school-comparison-b, but green reads as "success" and pink as "danger" in Frost badges, so using them for Students or Admins would imply status the data doesn't have. Teal, gold and slate are free of status meaning. Violet is reused from school-comparison-b. Note the approved rails contain no gold; gold matches the hue of Storybook's decorative gold instead.
Colorblind check still owed: teal vs blue and gold vs slate differ mainly in hue. They also differ in header chip text, position and tab label, so color never carries the role alone. I have not run a CVD simulation yet.

2b · "Students and teachers" role: three options proposal

The one extra role we know of. It has to read as its own group, not as "All roles" (blue) and not as Students or Teachers alone. Same Huerta/Lincoln sample data in each.

Trade-offs: 1 Pair reuses two approved/accepted hues, so no new color, but the signal is a thin edge. 2 Plum is the clearest standalone hue; it sits near Frost's pink danger color, so it must stay out of status marks and I'd check it with a colorblind simulation. 3 Bridge visually links the two roles, but its middle steps drift toward brand blue, so it risks being confused with All roles.

3 · Three strategies, same four charts

Chart types and layout are identical across columns. Only color, stroke, fill, label and chrome treatment change.

Role-coded heatmaps (shared by A, B and C)

The approved Frost heatmap, unchanged in structure, with the ramp chosen by role. The role chip names the role in text, so hue is a second cue, not the only one.

4 · Research → rules

What each trusted source contributes and where it lands in A/B/C. “Checked” means I read it this session; “not verified” means I only have a secondary summary.

SourceWhat we takeWhere it shows upStatus
Datawrapper — colors in style guides2 lighter + 2 darker shades per hue; equal lightness steps; tinted grays; fixed color order; 3:1 for marks and 4.5:1 for text; larger areas less saturated than linesRole ramps; gridline/axis/label gray tiers; bar vs line saturationChecked (first 100k chars)
Datawrapper — fewer colorsOne color when position already separates categories; emphasize one; label directly; shades instead of huesStrategy C; progress bars and column charts default to one brand hueChecked
Lisa Charlotte Muth — choosing colorsLight = low, dark = high; build gradients with lightness not just hue; use gray deliberately; same color for same variableHeatmap ramps; role color stays fixed across every chartSearch summary only
IBM CarbonCurated categorical sequence applied strictly in order; dedicated sequential/diverging scalesFixed role order: All, Students, Teachers, Admins, OtherSearch summary only
AtlassianSeparate chart tokens from text/border tokens; per-theme valuesToken plan (open question 3); dark mode laterSearch summary only
Okabe & Ito (CUD)Vary lightness as well as hue; darker blue/orange for thin lines and small text; alternate warm and cool when mixing; avoid low-saturation, low-brightness pairsWhy role hues differ in lightness at each step; line strokes use s4/s5, not s2Checked principles. The page shows its palette only as an image; the hex list I've seen elsewhere is secondary and unverified.
ColorBrewerSequential schemes: light for low, dark for high, 3–9 classes; multi-hue vs single-hue options5-class ramps; supports teal/gold as single-hue sequentialSearch summary only
Financial TimesReported order: dark blue first, magenta second, green last; light chart colors must contrast with the pink pageSupports "brand blue first" orderingNot verified: no FT primary source found, and the o-colors hex values weren't read

5 · Decisions to make

Recommendation

A as the token foundation (roles, grays, strokes), B only for single-series fills (progress, area, hero tiles) where a rail-derived gradient helps and contrast isn't at risk, and C numerals for KPI heroes. They layer; they don't conflict.

Decided

  • Students = teal, Admins = gold, Other staff = slate (accepted)
  • Chart colors stay local to each page for now; a semantic chart system comes after direction is set
  • Flat fallback for gradients: deferred, still in discovery

Still open

  • Pick an option for "Students and teachers" (2b)
  • Pick A / B / C mix, or ask for a variation
  • Any further roles beyond the four known?

Not done yet

  • CVD simulation of the role ramps
  • Dark mode (parked, per your note)
  • Spec in Max Spec format (after a direction is picked)
  • Reconcile with the Storybook colors page once readable
← Design crit overview