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

Turnout Curve line chart, dark theme: A live election-day screen with a glowing turnout line and hourly bars.

Turnout Curve

DarkLine

A live election-day screen with a glowing turnout line and hourly bars.

  • Deep navy#0A1128
  • Live white#FFFFFF
  • Slate#7C8DB5
  • Live red#FF4D5E
  • Surge amber#FFC247

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 "Turnout Curve" 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 live election-day results screen. Deep navy, a heavy white line racing ahead of a dashed ghost of the last election, a pulsing red live dot, and a strip of hourly bars along the time axis.

Colors (use these exact values):
- Background: #0A1128 (deep navy). Chips and panels: #121C3D. Gridlines: #1F2B52.
- Current series: #FFFFFF. Comparison series and secondary text: #7C8DB5 (slate).
- Live accent: #FF4D5E (red) for the live dot, its glow and the live callout. Highlight: #FFC247 (amber) for exactly one called-out interval.

Typography (Google Fonts):
- Archivo Black for the title (32px, uppercase, -0.3px letter-spacing, stating the finding with the number) and the big live value (30px white).
- Archivo for the rest: status chip 14px 700 white; strap 12px 600 uppercase with 1.8px letter-spacing in slate; subtitle 16px slate; legend 13px 600; axis labels 12px slate; callout head 12px 800 uppercase with 1.6px letter-spacing; callout body 13px white; small notes 11px to 12px slate.

Layout:
- 56px margins. At the top a 170 x 30 px pill (#121C3D, fully rounded) with a pulsing live dot (a 4.5px red core with 7.5px and 11px halos at 30% and 18% opacity) and "Reporting 64%"; the strap text continues to the right of it.
- Title at y 116, subtitle at 146, legend top right at y 176. Plot from x 88 to 880 and y 196 to 470.
- Under the baseline, a strip of hourly bars (22px wide, up to 34px tall, hanging down from 10px below the axis) sized by the amount added in each interval; hour labels 62px below the baseline.

Axes and grid:
- 1px #1F2B52 horizontal gridlines every 10%, labels on the left in slate. A 1.2px slate baseline with 6px ticks at each hour. No vertical gridlines.

Marks:
- Line chart: the current series as a 5px white monotone-cubic line with round caps over an area fill fading from white at 16% opacity to 0. The comparison series as a 2.5px slate line dashed 7 on 6. The live end point: a 26px radial red glow (55% to 0), a 13px red ring at 50% opacity, and a 7px red dot with a 2px white ring. A 1px white dotted (2 on 3) connector from the comparison value at the same time up to the live dot.
- Bar chart: white bars at 35% opacity, the live or latest bar white with the red glow dot on top, and the comparison value as a 2.5px dashed slate tick across each bar.
- Hourly strip: bars white at 35% opacity; the called-out interval solid amber; future intervals as 3px slate stubs at 40% opacity.

Labels and annotation:
- Live value label above and left of the live dot: a red 12px 800 uppercase line ("2026 AT 5 P.M. +6.6 PTS") over the Archivo Black value, both right-aligned 30px left of the dot.
- Comparison value label in 12px slate just below-right of its point. The comparison's final value labelled above its end.
- Amber callout: a 1.5px amber leader rising from an r 5 amber dot on the line to an uppercase amber head and a two-line white note.

Avoid: neon glows on every mark, more than one amber element, gridlines denser than every 10%, and text sitting on top of the dashed line.

When you're done, render the chart and check that the glow is not clipped, the gap in the title equals current minus comparison at the live time, the amber interval is really the largest so far, and no label crosses a line.