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

Serve Tracker line chart, light theme: White analysis card with lime and hollow dots and a charcoal rolling average.

Serve Tracker

LightLine

White analysis card with lime and hollow dots and a charcoal rolling average.

  • Lime#9ACD32
  • Lime edge#6F9A1E
  • Fault gray#A9ADA6
  • Charcoal#2B2D2F
  • Band#F3F4F1

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 "Serve Tracker" 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 crisp sports-analytics card from a tournament app. Clean white card on a pale gray page, wide geometric display type, lime for success, gray for misses, and one charcoal trend line.

Colors (use these exact values):
- Page: #EEF0EC. Card: #FFFFFF, 18px corner radius, soft shadow (0 6px blur 10, #1B1D1A at 8%).
- Success marks: #9ACD32 (lime) fill with a #6F9A1E 1px edge; the eyebrow is also #6F9A1E.
- Misses: hollow circles with a #A9ADA6 1.6px stroke and white fill.
- Trend line and ink: #2B2D2F (charcoal). Alternate group bands: #F3F4F1. Gridlines and baseline: #DADDD6 and #C9CCC4. Secondary text: #6B6F69.

Typography (Google Fonts):
- Syne for headings and labels: title 800 26px with -0.6px letter-spacing; eyebrow 700 11px uppercase with 2px letter-spacing; stat chips 800 26px with 600 10px uppercase captions (1.4px letter-spacing); band labels ("G1") 600 10px; flag text 700 11px uppercase in white; axis title 600 10px uppercase.
- DM Sans 400 for the subtitle (14px), tick labels (12px), legend (13px) and source (12px).

Layout:
- Card inset 28px left/right and 24px top/bottom. Content starts at x 64. Eyebrow, title, subtitle top left; two right-aligned stat chips (for example average and success rate) on the subtitle line at the right edge.
- Plot from x 96 to 880, y 196 to 478. Legend row at y 540 with dot, hollow dot, line and band swatches; source right-aligned on the same row.

Axes and grid:
- Y gridlines 0.8px #DADDD6 dotted (1 on 3 off) with labels to the left; a solid 1.2px #C9CCC4 baseline. No y-axis line.
- Alternate groups (service games here) shaded with #F3F4F1 bands running from 22px above the plot top to the baseline, each labeled at its top ("G1", "G2", ...).
- X labels every 10 units plus the last value, and a small uppercase axis title right-aligned under them.

Marks:
- Line chart: every observation is a dot (r 4.6 lime with #6F9A1E edge when successful, r 4 hollow gray when not). A smooth 2.6px charcoal line (monotone cubic) shows the 8-observation rolling average, starting at the 8th observation, drawn over a 6px white halo at 85% opacity so it stays readable over dots. Label its last value in Syne 700 12px just past the end.
- Highlight the maximum with a flag: a 1.2px charcoal pole from the dot up to the plot top and a 168 x 26 px charcoal swallowtail pennant with white uppercase text; fly it left of the pole when it would run off the right edge.
- Bar chart: slim vertical bars (about 60% of the band) in #9ACD32 for success and #A9ADA6 for misses, square ends, with the same charcoal rolling-average line and alternating bands laid over them.

Avoid: a colored card background, heavy borders, more than one accent hue, filled gray dots (misses stay hollow), and dual axes.

When you're done, render the chart and check that the wide Syne title does not run into the stat chips, the flag text fits inside the pennant, the halo keeps the trend line readable over dots, and the flagged value really is the maximum.