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

Grunge Page line chart, light theme: A photocopied zine page with toner speckle, stacked titles and a torn black line.

Grunge Page

LightLine

A photocopied zine page with toner speckle, stacked titles and a torn black line.

  • Photocopy paper#F2F0EB
  • Toner black#161514
  • Faded gray#6B6862
  • Masking tape#E4D7B0

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 "Grunge Page" 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 photocopied 1990s music zine. Toner speckle, scratchy typewriter labels, a cut-and-paste headline and one thick black line that looks torn out of the page. Raw, but laid out with a designer's control.

Colors (use these exact values):
- Page: #F2F0EB (photocopy off-white), with a 10px frame of #2A2826 at 12% opacity around the edge like a darkened copier margin.
- Ink: #161514 (toner black) for the title, the line, the baseline, key numbers and notes.
- Secondary text and dotted gridlines: #6B6862 (faded gray).
- Masking tape: #E4D7B0 at 90% opacity.
- Toner speckle and copier streaks: #2A2826.

Typography (Google Fonts):
- Staatliches for the title, set as three overlapping pieces at slight angles: the subject at 86px rotated -2.4 degrees; the finding at 45px in #F2F0EB knocked out of a #161514 strip with at least 12px of strip on both sides of the text (measure it; never let a glyph touch the strip edge), rotated +1.6 degrees and overlapping the end of the first piece by about 10px; the rest of the sentence at 30px with 2px letter-spacing, rotated -1.2 degrees, tucked under the strip's right end. Together they must read as one sentence stating the finding.
- Special Elite for everything else: subtitle 15px ink, annotation 15px ink with a 13px gray second line, tape caption 13px with 1px letter-spacing, source 12px gray.
- Axis numbers deliberately mix sizes: on the value axis the top tick 24px and the middle tick 20px in ink, the others 12 to 13px in gray. On the time axis the years alternate between 14 and 22px in gray, and the headline period (the peak year) is 34px Staatliches in ink.

Layout:
- Title block top left from x 48, subtitle at y 150 stating measure, unit and period. Chart area x 112 to 880, y 214 to 508.
- A huge faded page number ("17") in Staatliches 470px, #161514 at 6% opacity, cropped by the bottom and right edges behind the chart.
- A strip of masking tape (about 240 x 48px, jagged torn ends made of 5px zigzags, rotated 3.5 degrees) in the top right corner holding a two-line caption about the last value.
- Source line bottom left at y 578.

Axes and grid:
- Gridlines 0.9px #6B6862 at 80% opacity, dashed 2 on 6 off. No gridline at zero.
- Baseline 2.4px ink, slightly tilted (1px higher at the right end) and roughened with the scratch filter below. Year ticks 1.4px ink, 8px long.

Marks:
- Line chart: one 7px #161514 line with round joins and caps, straight segments between points, run through a torn-edge filter: feTurbulence fractalNoise baseFrequency 0.55, numOctaves 2, into feDisplacementMap scale 5. Mark the peak with a hand-drawn 1.6px ellipse (rx 17, ry 13, rotated -12 degrees) and a curved 1.3px leader to a typewritten note.
- Bar chart: flat #161514 bars about 60% of the band with the same torn-edge filter at scale 3, no rounding; highlight one bar with the knocked-out strip treatment for its label instead of a color.

Texture:
- About 520 toner specks: circles of #2A2826 at 55% opacity, radius 0.3 to 1.9px, most of them tiny (radius skewed small).
- Three faint vertical copier streaks, 1 to 3px wide, #2A2826 at 3.5 to 5% opacity, running the full height.
- The title and hand-drawn marks get a subtle scratch filter: feTurbulence baseFrequency 1.1, numOctaves 1, feDisplacementMap scale 2.
- Apply filters in user space covering the whole canvas so the displaced edges are not clipped.

Avoid: color accents, gradients, drop shadows, smooth vector-perfect lines, a legend box, and so much speckle that labels become hard to read.

When you're done, render the chart and check that the three title pieces still read as one sentence, the tape caption and page number do not cover any label, the torn line stays within the chart area, and the mixed-size axis numbers still line up with their ticks.