Chart Prompts

1,337 ways to dress a line or bar chart, 669 light and 668 dark. Open any chart to see it full size and copy a prompt that gives your own chart the same look.

Every chart uses illustrative data. The prompts work with any coding agent and any charting library; they describe colors, type, spacing and marks precisely enough to reproduce each look.

← More from Emergent Mind Labs

Population Pyramid bar chart, light theme: A demographer's age pyramid with an earlier year traced as a thin step outline.

Population Pyramid

LightBar

A demographer's age pyramid with an earlier year traced as a thin step outline.

  • Off-white#FAF8F3
  • Slate blue#4F6D8F
  • Terracotta#C4633F
  • Outline ink#23262B

Prompt for your coding agent

Paste it with your chart's code. It restyles your data to match this chart.

Restyle my chart in the "Population Pyramid" style described below. Keep my data, chart type, title meaning and units; change only the presentation. Use the charting library this project already uses (plain SVG if there is none). If the library can't express a detail, draw it in a custom layer instead of dropping it. Measurements assume a 960 x 600 chart; scale them proportionally.

Mood: a demographer's figure from a national population report. Calm, symmetric and exact, with an earlier year traced over the current one so change jumps out.

Colors (use these exact values):
- Background: #FAF8F3 (off-white). Ink: #23262B. Secondary text: #666A70. Gridlines: #E6E2D9.
- Left side (male, or the first category): #4F6D8F (slate blue). Right side (female, or the second): #C4633F (terracotta).
- Comparison outline: #23262B.

Typography (Google Fonts):
- Noto Sans throughout (400, 500, 600, 700).
- Title 28px 700, -0.3px letter-spacing; subtitle 15px 400 #666A70 naming the measure, unit and both years and which is bars versus outline.
- Side headers "MALE" and "FEMALE" 13px 700 uppercase, 1.6px letter-spacing, in their side colors, right- and left-aligned against the center column; "AGE" 10px 600 #666A70 centered over it.
- Age band labels 11px 500 ink centered in the center column. Axis tick labels 12px #666A70; axis titles 12px.
- Stat callouts: label 11px 600 uppercase with 1.2px letter-spacing #666A70, value 26px 700 ink, note 12px #666A70.

Layout:
- A 60px center column (x 450 to 510) holding the age labels; bars grow outward from its edges.
- Plot from y 150 to 518 with one row per band; bars fill the row minus 4px.
- Key under the subtitle at y 124: a split swatch (12px slate blue + 12px terracotta) with the current year, then a short step-line glyph with the comparison year.
- Two stat callouts in the upper corners, where the narrow oldest bands leave room: share of the youngest group on the left, share of the oldest on the right, each computed from the data with the earlier year for comparison.
- Source line at the bottom left.

Axes and grid:
- Vertical gridlines 1px #E6E2D9 at round values on both sides, mirrored, with tick labels under the plot counting outward from 0 on each side. An axis title under each side ("Males, thousands").
- No y-axis line; a 1px ink segment closes the bottom of the center column.

Marks:
- Bar chart: square-cornered horizontal bars, left side slate blue, right side terracotta, no outlines. The comparison year is a 1.5px #23262B step line on each side: up each band's outer edge and across at band boundaries, starting and ending at the center column, with miter joins.
- Line chart: draw each side as a stepped area (same colors at full opacity) from the center column, with the comparison year as the same 1.5px step outline. For ordinary time-series lines, use slate blue and terracotta 2.5px lines with the comparison series as a 1.5px #23262B stepped line.

Avoid: gaps between left and right halves other than the center column, rounded bar ends, gradients, shadows, legends inside the plot, and dual colors per side.

When you're done, render the chart and check that both sides use the same scale, the outline sits on band boundaries, the callouts do not touch the bars, and the callout percentages match the data.