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

Bandwidth Demand bar chart, dark theme: Midnight violet stacked bars over a faint starfield, with hatched projection years.

Bandwidth Demand

DarkBar

Midnight violet stacked bars over a faint starfield, with hatched projection years.

  • Midnight#140F2A
  • Broadband#8B5CF6
  • Maritime#38BDF8
  • Aero#F472B6
  • Government#CBD5E1

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 "Bandwidth Demand" 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 satellite operator's capacity outlook deck. Midnight violet with a barely-there starfield, a wide futuristic headline and bright stacked segments that turn hatched once the numbers become a projection.

Colors (use these exact values):
- Background: #140F2A, sprinkled with about 170 white dots (radius 0.6, some 1.1) at 8 to 30% opacity.
- Series, bottom to top: #8B5CF6 (violet), #38BDF8 (sky), #F472B6 (pink), #CBD5E1 (pale gray).
- Kicker #A78BFA, title #EDEAFB, secondary text #9A93C2, gridlines #2A2350, baseline #5B5290.

Typography (Google Fonts):
- Michroma 400 for the title only, 23px #EDEAFB, stating the finding.
- Exo 2 for everything else: kicker 600 11.5px uppercase with 2.4px letter-spacing; subtitle 15px #9A93C2 with measure, unit, period and a computed multiple; total labels 700 13px; axis labels 12 to 13px; zone labels 700 10.5px with 2px letter-spacing; legend 500 13px.

Layout:
- 56px margins. Kicker at y 50, title at y 90, subtitle at y 120.
- Plot from x 96 to 900 with the baseline at y 500. The forecast zone starts at the boundary after the last actual period: a white 3.5% wash to the right and a 1px dashed (3 4) #9A93C2 divider, with "ACTUAL" right-aligned and "PROJECTION" left-aligned beside it at the top.
- Legend at y 562 in stacking order top to bottom, 12px square swatches, plus a hatched swatch reading "Hatched = projected"; "Source: ..." right-aligned.

Axes and grid:
- Three horizontal 1px #2A2350 gridlines, y labels 12px right-aligned 12px left of the plot, no axis line. A 1.2px #5B5290 baseline. Category labels 24px below it, the last actual period in 700 #EDEAFB.

Marks:
- Bar chart: 44px square-cornered stacked bars with a 1.5px background-colored gap between segments. Actual periods are solid fills. Projected periods use a 45-degree stripe pattern (6px tile, a 2.6px stripe of the series color over the same color at 28% opacity). Totals above each bar, #EDEAFB for actuals and #9A93C2 for projections.
- Line chart: stacked areas in the same colors with 1.5px background-colored separators; the projection part filled with the same hatch pattern and the top edge dashed, split by the same divider and zone labels.

Avoid: gradients on the bars, glows, rounded corners, a dense starfield that competes with the data, and letting the pale gray top segment read as a gridline.

When you're done, render the chart and check that the stack order matches the legend, the hatching starts exactly at the first projected period, totals equal the sum of segments, and the multiple in the subtitle is right.