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

ED Census line chart, dark theme: Command center census line with a blue forecast band and amber and red thresholds.

ED Census

DarkLine

Command center census line with a blue forecast band and amber and red thresholds.

  • Command dark#0F141B
  • Live white#F4F7FB
  • Forecast blue#5B9BE8
  • Surge amber#F2A93B
  • Capacity red#E5484D

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 "ED Census" 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: the emergency department command center wall screen. Near-black glass, one bright white live line, a soft blue forecast ahead of "now", and amber and red thresholds everyone watches.

Colors (use these exact values):
- Page: #0F141B (command center dark). Status tile #161D27 with a 1px #263142 border.
- Actual line: #F4F7FB (bright white), with a 4% white fill under it.
- Forecast: #5B9BE8 (soft blue) band at 28% opacity, dashed median in solid #5B9BE8, and a 5% blue wash over the whole forecast zone.
- Surge threshold: #F2A93B (amber). Full capacity: #E5484D (red). The live dot in the eyebrow is also red; the longest-wait figure is amber.
- Secondary text #7D8A9C; gridlines #1E2733; midnight dividers #2A3544.

Typography (Google Fonts):
- Saira Semi Condensed throughout. Eyebrow 12.5px 600 uppercase, 2px letter-spacing, preceded by a 4px red dot. Title 31px 700 white stating what the forecast means. Subtitle 16px muted. Threshold labels 12px 700 uppercase, 1.5px letter-spacing, in their line color; threshold values on the y axis 13px 700 in their color. Axis labels 12.5 to 13px muted. Day labels 11.5px 600 uppercase, 1.5px letter-spacing. Tile: "NOW 15:00" 11.5px 600 spaced, the count 48px 700 white, "patients" 13px 500, a 12.5px muted capacity share, and "Longest wait" with its value 14px 700 amber.

Layout:
- 56px margins. Header left; a 204 x 112px, 8px-radius status tile top right (x 700 to 904).
- Plot from x 72 to 900, y 188 to 492; the past and forecast share one continuous time axis.
- A white "NOW" pill (44 x 18, fully rounded, dark 11.5px 700 text) sits above a 1px white 55%-opacity vertical line at the current hour.

Axes and grid:
- y from 0, gridlines at 0, 20 and 40, labels right-aligned 12px left of the plot; thresholds replace the upper gridlines.
- x ticks every 6 hours as "06:00"; a 1px vertical divider at each midnight with the day ("MON", "TUE") at its top left.

Marks:
- Line chart: a 2.4px white line with straight segments and a soft glow (Gaussian blur 4 merged under the sharp line). The current value is a 5.5px hollow dot (page-color fill, 2.5px white ring). The forecast is a band that widens with the horizon, a 2.2px dashed (6 on, 4 off) blue median, a 4px blue dot at its peak with "59 at 19:00" in 13px 700 white above the band, and "Forecast, 80% band" in 12.5px 600 blue under the band's right end. Thresholds are 1.6px dashed (8 on, 5 off) full-width lines.
- Bar chart: hourly bars 70% of the slot, #F4F7FB for actuals and #5B9BE8 at 45% opacity for forecast hours, the forecast range as thin blue whiskers, the same dashed thresholds and NOW pill.

Avoid: light backgrounds, neon colors, gradients on the line, more than one glowing element, and threshold labels sitting on top of the data.

When you're done, render the chart and check that the NOW pill aligns with the last actual point, the forecast starts exactly at that point, threshold labels sit over an empty stretch of the plot, the tile figures match the last data point, and any threshold the title says the forecast will hit is actually reached by the unrounded forecast at the hour it names.