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

Revenue Sources bar chart, light theme: A city budget book page of 100% stacked revenue columns on cream stock.

Revenue Sources

LightBar

A city budget book page of 100% stacked revenue columns on cream stock.

  • Cream#FAF6EC
  • Income navy#1E3A8A
  • Sales teal#0D9488
  • Property ochre#B45309
  • Fees plum#7E22CE
  • Transfers gray#9CA3AF

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 "Revenue Sources" 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 page from a city's adopted budget book. Cream stock, a sturdy serif headline, five clear civic colors and every share printed where it lives. Clean and explanatory rather than decorative.

Colors (use these exact values):
- Page: #FAF6EC (cream).
- Categories, in stacking order from the bottom: #1E3A8A (navy), #0D9488 (teal), #B45309 (ochre), #7E22CE (plum), #9CA3AF (gray, reserved for the residual or "other" category).
- Ink #1F2430 for the title and labels; secondary text #6B665C; footer rule #DDD5C3.
- The eyebrow runs in ochre #B45309.

Typography (Google Fonts):
- Merriweather 700, 25px, ink, for the title, which states the finding ("Property tax's share slid from 26% to 19% in a decade").
- PT Sans for everything else: eyebrow 700, 11px, uppercase, 1.6px letter-spacing, ochre; subtitle 400, 15.5px, #6B665C; in-segment values 700, 12.5px (white, or ink on the gray segment); category names 700, 13.5px; secondary lines 12.5px #6B665C; year labels 13px (the latest year 700 ink); annotations italic 12px; source 12px.

Layout:
- 56px side margins. Eyebrow ("CITY OF KETTLEBY FALLS | ADOPTED BUDGET BOOK | SECTION 3: REVENUES"), title, subtitle, then a 1.2px ink rule the full width.
- Plot from x 96 to about 736, leaving a right-hand column for direct category labels beside the last period. Footer rule near the bottom with the source note left and a page number ("3-4") right in Merriweather 12px.

Axes and grid:
- Percent axis on the left (0%, 25%, 50%, 75%, 100%) in 12px #6B665C with 6px tick marks. No gridlines: the segment edges do that job. No x-axis line.

Marks:
- Bar chart: 100% stacked columns, 46px wide at 10 periods, square corners, each segment separated by a 1.5px cream stroke. Print the rounded share centered in any segment of 8% or more. Beside the last column, each category gets a 10px color square, its name and a "first% → last%" line (the arrow drawn as a thin stroked path, since PT Sans has no arrow glyph), joined to its segment's midpoint by a 1.2px leader in the category color; nudge labels at least 30px apart.
- Line chart: one 2.5px line per category in the same colors on a 0 to 100% (or natural) scale, with 4px dots at each period and the same right-hand direct labels (square, name, first → last). Optionally fill the stacked areas at 85% opacity with 1.5px cream seams if the data are shares.

Labels and annotation:
- One short italic note for an anomaly (for example "FY20 emergency relief: transfers 11%"), set above the plot with a 10px ink tick down to the column.

Avoid: gradients, shadows, rounded bar corners, a separate boxed legend, 3D, and labels inside segments too thin to hold them.

When you're done, render the chart and check that every column sums to 100, the in-segment numbers are legible on their colors, the right-hand labels don't collide, and the title's start and end shares match the data.