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

Retention Curves line chart, dark theme: Indigo cohort decay curves fading from lavender to a glowing magenta newest cohort.

Retention Curves

DarkLine

Indigo cohort decay curves fading from lavender to a glowing magenta newest cohort.

  • Indigo#17123B
  • Lavender#9C8FD8
  • Magenta#FF2E97
  • Grid violet#3A3470
  • Pale ink#ECE8FF

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 "Retention Curves" 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 late-night growth dashboard. Deep indigo, a fan of thin decay curves warming from faded lavender to a hot magenta newest cohort, and a tidy legend strip that doubles as a scorecard.

Colors (use these exact values):
- Canvas: #17123B (deep indigo), with a soft radial glow of #2A2066 at 70% opacity centered near the upper left (30%, 20%) fading to the canvas color.
- Series ramp: interpolate in RGB from #9C8FD8 (lavender, oldest) to #FF2E97 (magenta, newest) with t = (index / (count - 1)) ^ 1.4, so the older lines stay cool and only the latest turn hot.
- Gridlines: #3A3470. Zero baseline: #6A62A8. Primary text: #ECE8FF. Secondary text: #9C96C4. Legend panel: #1F1950 with a 1px #3A3470 border.

Typography (Google Fonts):
- Urbanist for words: title 34px 700 (-0.4px letter-spacing, #ECE8FF, stating the finding), subtitle 15.5px 500 #9C96C4, legend names 14px 600 (newest 800 in #ECE8FF), small uppercase headers 11 to 12px 800 with 1.4px tracking, notes 12 to 13px 500.
- Space Mono for every number: axis labels 11px #9C96C4 ("80%", "W4"), legend values 13px 700 (#ECE8FF; newest in magenta).

Layout:
- 56px left margin; title baseline y 64, subtitle y 94.
- Plot from x 76 to 700, y 150 to 520. A vertical legend strip panel from x 740 to 924 (184 x 394, rx 10, top at y 138) on the right.
- Source line at y 580.

Axes and grid:
- Dotted horizontal gridlines at every 10% (1px #3A3470, dash 1 on 5 off, round caps); a solid 1.2px #6A62A8 zero line. Y labels every 20%. X labels every 2 periods ("W0" ... "W12") 22px below the plot, and a small axis title ("Weeks since signup") right-aligned below them. No vertical gridlines, no axis lines.

Marks:
- Line chart: one smooth monotone curve per cohort, drawn oldest first. Older cohorts are 1.4px with opacity rising from 0.5 to 0.9 with recency; the newest is 3.2px solid magenta over a 7px magenta blur (stdDeviation 4, 25% opacity) glow. Mark the newest cohort's end with a r 4.5 magenta dot with a 2px canvas ring, and its week 8 value with a r 3.5 hollow ring.
- Bar chart: grouped vertical bars per period with one thin bar per cohort in the same ramp (newest magenta, full opacity; older at 0.5 to 0.9), 2px gaps, square tops, and the same legend strip.

Labels and annotation:
- Legend strip: header row "COHORT" left and "WEEK 8" right, a 1px divider, then one row per cohort, newest at the top, 40px apart: a 14 x 4 px rounded swatch (newest 18 x 6), the cohort name, and its week 8 value right-aligned in Space Mono. Footer note "Newest cohort in bold".
- Flat-line annotation: from the week where curves stabilize to the right edge, a faint white (4.5% opacity, rx 6) band covering the curves' range, a dotted 1px leader up to a 1.5px #ECE8FF horizontal rule, with "CURVES GO FLAT AFTER WEEK 6" above the rule and a computed claim below it ("Every cohort loses under 1.5 pts a week from here").

Avoid: a categorical rainbow, thick lines for old cohorts, dots on every point, solid gridlines, a legend floating inside the plot, and claims in the annotation that the data does not support.

When you're done, render the chart and check that the color ramp reads oldest-to-newest in the legend, the newest curve clearly sits on top, the legend week 8 values match the curves, and the annotation text does not touch any curve.