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

Ensemble Plume line chart, dark theme: Faint forecast members fan from a white record, with a cyan median and red threshold.

Ensemble Plume

DarkLine

Faint forecast members fan from a white record, with a cyan median and red threshold.

  • Night navy#0E1624
  • Member blue#A9C8EC
  • Band blue#3F6FA8
  • Median cyan#3FD8F0
  • Threshold red#FF5A5F

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 "Ensemble Plume" 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 hydrological forecasting desk at night. Dark navy, monospaced, probabilistic: a spray of faint ensemble members fanning out of a crisp observed record, with one red threshold and one number that says how likely trouble is.

Colors (use these exact values):
- Page: #0E1624 (dark navy); the forecast half of the plot is a slightly lifted #121D2F panel.
- Text #E6EDF7, secondary #7F8DA3, gridlines #1F2B40.
- Observed line: #FFFFFF. Ensemble members: #A9C8EC at 38% opacity. 10 to 90 percent band: #3F6FA8 at 32% opacity. Median: #3FD8F0 (bright cyan). Threshold and exceedance callout: #FF5A5F.

Typography (Google Fonts):
- Inconsolata throughout. Title 700, 27px, -0.3px letter-spacing, #E6EDF7, stating the finding. Subtitle 400 15px muted.
- Tick labels 13 to 14px muted; the "now" tick 0 in 700 #E6EDF7. Section labels ("OBSERVED", "FORECAST") 700 12px uppercase, 1.4px letter-spacing, muted, on either side of the now divider.
- Threshold label 700 13px #FF5A5F with 0.6px letter-spacing. The callout number 700 34px #FF5A5F with two lines of 13px text beside it.

Layout:
- 56px left margin, title at 58, subtitle at 86. Plot from x 84 to 900 and y 140 to 500.
- A 1px muted vertical divider at "now" extends 14px above the plot, with the section labels above the plot top.
- Legend in a single row at the bottom left (short line swatches and a band swatch), source at the bottom right.

Axes and grid:
- 1px #1F2B40 gridlines, tick labels only at every second gridline, a 1px muted baseline with 5px ticks at each day, relative day labels (-5 ... 0 ... +10) and "days from now" under the right end.

Marks:
- Line chart: members are 1.1px smooth lines at 38% opacity; the band is a straight-edged polygon between the 10th and 90th percentile; the median is a 3px round-capped cyan line; the observed record is a 3px white line ending in a 5px white dot with a navy ring at "now". A 1.8px dashed (8 5) red threshold rule crosses the whole plot.
- Bar chart: one bar per period showing the median (#3FD8F0 at 85%), with a #3F6FA8 range bar behind it spanning the 10 to 90 percent range and faint #A9C8EC ticks for each member value; observed periods in solid #FFFFFF.
- Exceedance callout: where the upper band first crosses the threshold, a 4px red dot on the rule, a 1px red leader up to a navy box with a 1.2px red border and 4px radius, holding the probability (members exceeding / total members) and its explanation.
- Label the median peak in 700 13px cyan with a 4px navy halo (paint-order stroke) so it reads over the members.

Avoid: opaque member lines, rainbow member colors, drop shadows, a second y axis, more than one accent red.

When you're done, render the chart and check that the exceedance percentage equals the share of members crossing the threshold, the observed line reads clearly above the plume, and the callout box fully contains its text.