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

Decline Curve line chart, light theme: Semi-log rate-time plot on beige: brown dots, dashed teal fit and a shaded forecast.

Decline Curve

LightLine

Semi-log rate-time plot on beige: brown dots, dashed teal fit and a shaded forecast.

  • Beige page#F6F1E7
  • Rate brown#5A3A22
  • Fit teal#1F6F78
  • Forecast shade#E9DFCB
  • Ink#2B2118

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 "Decline Curve" 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 reservoir engineer's rate-time plot pasted into a reserves report. Warm paper, a boxed plot, a semi-log grid, observations as dots and a model as a dashed line that runs past the last observation into a shaded forecast.

Colors (use these exact values):
- Page: #F6F1E7. Ink (title, frame, key numbers): #2B2118. Secondary text: #7A6C5A.
- Observations: #5A3A22 (rate brown) dots with a 1px #F6F1E7 ring.
- Fit / model / forecast: #1F6F78 (fit teal).
- Forecast zone fill: #E9DFCB. Grid: major #DCD2BF, minor #E8E0D0.

Typography (Google Fonts):
- Merriweather Sans. Title 800 24px, -0.3px letter-spacing, stating the finding with the forecast total. Subtitle 300 14px #7A6C5A. Axis labels 12px (decade values 700 #2B2118, others 400 #7A6C5A). Period labels ("Year 1") 700 11px. Zone labels "HISTORY" and "FORECAST" 700 11px uppercase with 1.6px letter-spacing (history #7A6C5A, forecast teal). Annotations 11px italic. Big forecast number 800 28px teal. Legend and parameter text 12px.

Layout:
- 40px margins. Title at y 48, subtitle at y 76. Plot frame from x 96 to 900, y 126 to 512, drawn as a 1px #2B2118 box.
- The forecast zone is a #E9DFCB rectangle from the last observation to the right edge, with a 1px dotted (2 3) #7A6C5A divider and the two zone labels either side of it near the top.
- A boxed legend (200 x 104, 0.8px #2B2118 border, page fill) sits in the upper right of the history area, fully clear of the history/forecast divider and below the zone labels: a dot and "observed" label, a dashed swatch and bold teal fit label, a hairline, then the fit parameters (e.g. qi, Di, b) in 12px.
- In the forecast zone: "Estimated ultimate recovery", the total in 28px teal, and a 12px light line splitting it into produced plus forecast (the parts must add up to the total as displayed).
- Footer at y 578: source note left, "WELL NAME" small caps right.

Axes and grid:
- Log-scale y axis: 1.1px #DCD2BF decade lines, 0.6px #E8E0D0 lines at 2 to 9 in each decade, labels at 1-2-5 steps right-aligned 10px left of the frame. Start the axis at a round value just under the data, not at an arbitrary decade.
- x axis: 0.7px vertical grid every 12 months with month numbers 22px under the frame, and bold period labels centered in each span 40px under it.

Marks:
- Line chart: observations as r 3.6 dots, never connected. The model is a 2.2px teal dashed line (8 5, round caps) across the whole domain including the forecast. Mark the model's end value with an open r 4 circle (2px teal stroke, page fill) and a bold 12px teal label. Outliers get a thin 0.8px leader and an italic note.
- Bar chart: slender brown (#5A3A22) columns for observed periods and teal (#1F6F78) columns at 35% opacity with a 1px teal outline for forecast periods, inside the same shaded forecast zone and boxed plot; bars start at zero on a linear axis (never on a log axis), with the forecast total callout kept.

Avoid: connecting the observation dots, smoothing noise out of the dots, a second y axis, heavy gridlines, bright colors, drop shadows.

When you're done, render the chart and check that the forecast total equals produced plus forecast as displayed, the log grid labels sit on the right lines, and the legend box does not cover any dots.