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

Campaign Reach bar chart, dark theme: Channel stacks on deep purple with a white launch rule and a response bar strip.

Campaign Reach

DarkBar

Channel stacks on deep purple with a white launch rule and a response bar strip.

  • Deep purple#1D1530
  • Radio amber#F5B53F
  • Outdoor coral#E8604F
  • Social violet#9C7BF2
  • Print gray#D6D0E2

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 "Campaign Reach" 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 media agency's campaign wrap-up slide for a public health client. Deep purple stage, confident saturated channel colors in tidy stacks, a crisp white launch marker, and the response measure shown as its own strip of small labeled bars beneath.

Colors (use these exact values):
- Page: #1D1530 (deep purple).
- Channels, bottom to top: Print #D6D0E2 (pale gray), Social #9C7BF2 (violet), Outdoor #E8604F (coral), Radio #F5B53F (amber). The eyebrow is amber too.
- Launch rule and response bars: #FFFFFF.
- Title and strong labels: #F1ECFA. Secondary text: #9E93B8. Gridlines: #34294D.

Typography (Google Fonts): Lexend Deca throughout.
- Eyebrow 12px 500 uppercase, 2.2px letter-spacing. Title 27px 600, -0.4px letter-spacing, stating the peak. Subtitle 14.5px 300 #9E93B8.
- Axis labels 12px 300; total labels above stacks 11px 500 (the peak in #F1ECFA, others #9E93B8); period labels 12px ("W6", the peak in 600). Channel labels 12.5px 500 in their own colors. Strip values 11.5px 500.

Layout:
- 52px margins. Eyebrow y 56, title y 96, subtitle y 122.
- Plot from x 92 to 820, y 170 to 452; channel labels to the right of the last stack. Under the axis, a 1px #34294D separator (below the end of the launch rule) and a strip for the response measure with its own uppercase label ("HOTLINE PAGE VISITS, THOUSANDS", 10.5px 500, 1.4px letter-spacing, #9E93B8) set 20px below the separator so neither the rule nor the separator touches it.
- Footer at y 584: source on the left, one sentence on the right comparing the response at the peak with before launch.

Axes and grid:
- Three or four 1px #34294D horizontal gridlines with left labels; the zero line in #9E93B8. No vertical gridlines.
- Launch: a 1.2px white vertical rule between the last pre-launch and first post-launch period, from just above the plot to just under the period labels, topped with a 3.5px white dot and a 12.5px 600 white label to its right. A small 11.5px 300 note on the pre-launch side gives the pre-launch average.

Marks:
- Bar chart: stacked bars about 62% of the band with a 1.5px gap of page color between segments and 1.5px corner radius. Total value centered 8px above each stack. Direct channel labels with 1px leaders at each segment's midpoint beside the final stack, no separate legend.
- Line chart: one 2.5px line per channel in the same colors (stacked area at 85% opacity if it is a composition), with the same launch rule and direct labels at the right end.
- Second measure: never on a second axis. Show it in the strip as one small white bar per period (46% of the stack width, 1.5px corner radius) rising from its own 1px #9E93B8 zero baseline, 36px tall at the strip maximum, with the value in 11px 500 just above each bar (#F1ECFA at the peak, #9E93B8 elsewhere).

Avoid: a secondary y axis, 3D, gradients, drop shadows, a boxed legend, coloring the pre-launch bars differently.

When you're done, render the chart and check that stacks sum to the labeled totals, the launch rule does not cut through any text, the channel labels align with their segments, and the footer ratio matches the strip values.