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

Shelter Occupancy line chart, light theme: Khaki field report of small multiples with dotted capacity rules and overflow dots.

Shelter Occupancy

LightLine

Khaki field report of small multiples with dotted capacity rules and overflow dots.

  • Khaki paper#F5F1E6
  • Olive#556B2F
  • Rust#B5532E
  • Slate blue#4A6FA5
  • Plum#7A4D7A

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 "Shelter Occupancy" 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 field team's daily report printed on khaki stock and clipped into a binder. Practical, calm and tidy: a thin olive frame, condensed headings, small multiples so each site can be read at a glance against its own limit.

Colors (use these exact values):
- Page: #F5F1E6 (pale khaki). A 1.5px #556B2F (olive) border inset 14px from every edge.
- Series, in order: #B5532E (rust), #556B2F (olive), #4A6FA5 (slate blue), #7A4D7A (plum). Each series keeps its color for its line, its limit line, its dots and its panel heading.
- Ink #2B2A22, secondary text #6B665A, gridlines #E2DCCB, zero lines and tick marks #A69F8A.

Typography (Google Fonts):
- Archivo Narrow 700 for the title (31px ink, stating the finding) and panel headings (16px uppercase with 0.6px letter-spacing, in the series color).
- PT Sans for everything else: eyebrow 700 11.5px uppercase with 2px letter-spacing (olive on the left, muted on the right), subtitle 15px muted, key 13px ink, panel status 700 12.5px right-aligned in the series color (muted if it never exceeded the limit), axis labels 11.5px muted, source 12px muted, and an italic 12px note "Each panel has its own scale".

Layout:
- 44px inner margins. Eyebrow line at y 52 with a 0.8px olive rule under it at y 64. Title at y 104, subtitle at y 130.
- A one-line key at y 156: a short solid line "Occupancy", a dotted line "Capacity", a filled dot "Night over capacity", all in ink.
- A 2 x 2 grid of panels, each about 404 x 118 px, columns at x 64 and 512, rows starting at y 204 and 386. Each panel's heading sits 20px above its plot on the left, with "Capacity 260 | 10 nights over" right-aligned on the same line.
- Footer: a 0.8px olive rule at y 552, the source on the left and the scale note on the right at y 572.
- With a single series, keep one large panel with the same heading row.

Axes and grid:
- Per-panel y scale from zero to about 12% above the larger of the peak or the limit, rounded up; 3 to 5 faint 0.8px #E2DCCB gridlines with labels right-aligned at the panel's right edge (the plot stops 44px short of it).
- A 1px #A69F8A zero line with 4px tick marks and "Day 1, Day 7, Day 14, Day 21" labels under every panel.

Marks:
- Line chart: thin 1.8px lines with straight segments and round joins. The capacity or limit is a same-colored 1.6px dotted line (dash 0.1 4, round caps) across the panel. Every point above the limit gets a filled 3.6px dot in the series color with a 1px khaki ring.
- Bar chart: slim square-cornered columns in the series color at 55% opacity, with the columns that exceed the limit at full strength, and the same dotted limit line across each panel.

Avoid: one crowded panel with four lines, legends inside plots, gradients, shadows, heavy gridlines, and colors outside the four series hues plus olive framing.

When you're done, render the chart and check that the count of nights over in each heading matches the dots drawn, the title's claim is true for the data, panel headings don't collide with the axis labels of the panel above, and the border is fully visible.