Chart choice, plotting code and figures that are not misleading. Below are 7 copy-ready prompts. Fill in the [BRACKETS], copy, and paste into ChatGPT, Claude, Gemini or any capable assistant.
Chart choice is a judgement about what question the reader has, and models will happily produce a chart that answers no question at all.
The 7 prompts
Choose the right chart for your data
Pick a chart that shows what you mean.
Help me choose a chart. DATA: """ [PASTE OR DESCRIBE - INCLUDE HOW MANY CATEGORIES, TIME POINTS, OR SERIES] """ WHAT I WANT THE VIEWER TO SEE: [THE POINT YOU ARE MAKING] AUDIENCE: [WHO, AND HOW CLOSELY THEY WILL LOOK] WHERE IT APPEARS: [slide / report / dashboard / print] TOOL: [Excel / Sheets / Python / other] Produce: 1. THE COMPARISON TYPE - what relationship are you showing? Comparison between categories, change over time, part of a whole, distribution, correlation, or ranking. The chart follows from this, not from preference. 2. THE RECOMMENDATION - one chart type, with the reason, and how to configure it for my data. 3. WHY NOT THE ALTERNATIVES - the two other plausible choices and what they would do worse here. 4. THE SPECIFIC WARNINGS for my data: - Pie chart with more than about five slices, or where the point is comparison rather than proportion - people cannot compare angles - Dual axes, which imply a relationship that may not exist and can be manipulated to show anything - Truncated y-axis on a bar chart, which misrepresents magnitude. On a line chart showing change it can be legitimate; say which applies. - Too many series on one line chart; over about five, nothing is readable - 3D effects, which distort every comparison - Stacked bars when the reader needs to compare the middle segments, which is impossible without a common baseline 5. THE CONFIGURATION - axis ranges and whether to start at zero, sort order (almost always by value, not alphabetically), labels directly on the data rather than in a legend where possible, and how many decimal places. 6. WHAT TO REMOVE - gridlines, borders, background fills, redundant legends, and decoration. Everything that is not data or a label needed to read it. 7. THE TITLE - written as the finding, not the subject. 'Returns doubled after the March packaging change' beats 'Returns by month'. This single change does more for comprehension than any formatting. 8. THE HONEST CHECK - does my data actually show what I want the viewer to see? If the effect is within normal variation, or the sample is small, the chart will overstate it. Say so. 9. WHEN A TABLE IS BETTER - for precise values, few data points, or mixed units. Say if that applies here.
What you get: A chart recommendation derived from the comparison type, rejected alternatives, configuration details and a finding-as-title.
Tip: Point 7 is the highest-return change to any chart. A title that states the finding means the reader gets the point whether or not they study the axes.
Critique a chart before you publish it
Find what is misleading or unclear in a visualisation.
Critique this chart. DESCRIPTION OF THE CHART: [TYPE, WHAT IS ON EACH AXIS, WHAT THE SERIES ARE, THE AXIS RANGES, COLOURS USED] OR PASTE THE UNDERLYING DATA: """ [PASTE] """ WHAT IT IS MEANT TO SHOW: [THE POINT] AUDIENCE: [WHO] WHERE IT WILL APPEAR: [CONTEXT] Assess: 1. WHAT A VIEWER WOULD CONCLUDE at a glance, before reading anything. Compare that to what I said it is meant to show. Divergence is the main finding. 2. MISLEADING ELEMENTS: - Axis truncation exaggerating a difference - Dual axes implying a relationship - Inconsistent intervals on an axis - A cherry-picked date range - Area or volume used for a linear quantity, which exaggerates by squaring or cubing - Aggregation hiding a reversal in the underlying segments - Missing baseline or context that would change the interpretation 3. READABILITY: - Can every label be read at the size it will appear? - Is the sort order meaningful? - Does it need a legend, or could labels go on the data? - Are there more colours than necessary? - Does it work in greyscale, and for colour-blind viewers? Red-green pairs are the common failure. 4. THE DATA-INK CHECK - what is on this chart that is not data and not needed to read it? 5. WHAT IS MISSING - sample sizes, units, the time period, the data source, a note on any exclusions, or an uncertainty indicator where the data is noisy. 6. THE TITLE - does it state the finding? If it names the subject instead, rewrite it. 7. THE HONEST QUESTION - does the data support the point strongly enough to make this chart? If the difference is small or the sample thin, the chart will make it look more solid than it is. This is the most common way honest people mislead. 8. THE REVISED SPECIFICATION - the chart as it should be.
What you get: A glance-test comparison, misleading elements identified, accessibility and readability checks, and a revised specification.
Tip: Point 1 is the whole review. What a viewer concludes in two seconds is what the chart communicates, regardless of what the axes say.
Write chart code in Python or R
Produce a specific, clean chart programmatically.
Write chart code. LANGUAGE AND LIBRARY: [Python matplotlib / plotly / seaborn / R ggplot2 / other] DATA: """ [PASTE SAMPLE WITH HEADERS] """ WHAT THE CHART SHOULD SHOW: [THE POINT] CHART TYPE: [IF YOU KNOW, or 'recommend one'] WHERE IT WILL APPEAR: [report / slide / web / print] and SIZE: [DIMENSIONS, if it matters] Produce code that: 1. Loads and prepares the data explicitly, with any aggregation shown as a separate step I can check. 2. Builds the chart with: - Axis labels including units - A title stating the finding, not the subject - Sorted by value where categorical, not alphabetically - Data labels directly on the marks where there are few enough, instead of a legend - Sensible axis limits, with a comment justifying whether it starts at zero - A colour-blind-safe palette, and no more colours than necessary. Use one colour with a single highlight where you are drawing attention to one item. - Gridlines minimal or absent; no chart border, no background fill - Font sizes appropriate to the stated output size 3. Saves at a resolution appropriate for the destination. Then: 4. THE DESIGN DECISIONS - each non-obvious choice, one line each. 5. WHAT TO CHANGE for a different destination - a chart for a slide and a chart for a printed report need different sizing and label density. 6. THE ACCESSIBILITY NOTE - confirm it works in greyscale and does not rely on colour alone to distinguish series. If it does, add a second visual channel. 7. WHAT THE CHART OVERSTATES - any way the visual makes the finding look stronger than the data supports. Rules: - Do not use a default colour cycle for a chart where only one series matters. Grey everything and highlight one. - No chartjunk, no 3D, no unnecessary legends - Comment the non-obvious styling, not the obvious calls
What you get: Chart code with accessible colours, finding-as-title and minimal decoration, plus design decisions and an overstatement check.
Tip: Greying everything and highlighting one series is the most effective chart technique there is, and default library palettes actively work against it.
Design a dashboard people will actually use
Build a view that supports decisions rather than displaying everything.
Help me design a dashboard. WHO USES IT: [ROLES] WHAT DECISIONS THEY MAKE WITH IT: [THE ACTIONS IT SHOULD SUPPORT] HOW OFTEN THEY LOOK: [daily / weekly / monthly / when something is wrong] DATA AVAILABLE: [WHAT YOU CAN SHOW] CURRENT DASHBOARD: [PASTE OR DESCRIBE, if any] TOOL: [WHAT YOU ARE BUILDING IN] Produce: 1. THE DECISION LIST - what should someone be able to decide or notice from this? Every element on the dashboard must support one of these. Elements supporting none get cut. If I could not give you clear decisions, say so - that is why most dashboards go unused. 2. THE LAYOUT - in reading order: - TOP: the three to five numbers that answer 'is everything normal?' Each with a comparison, because a number without context is meaningless. Compare to last period, to target, or to a normal range. - MIDDLE: the trends that show whether things are getting better or worse - BOTTOM: the breakdowns for when something looks wrong and you want to know where 3. THE NORMAL RANGE - for each headline metric, what counts as normal. Without it, every viewer invents their own threshold and reacts to noise. Show the range visually. 4. WHAT TO CUT - from my current dashboard or my data list: metrics nobody acts on, charts that are interesting but not decision-relevant, and anything duplicated. A dashboard with thirty tiles is a dashboard nobody reads. 5. THE REFRESH QUESTION - how fresh does each element need to be? Real-time data on a weekly decision adds cost and encourages reacting to noise. Match the cadence to the decision. 6. WHAT IT SHOULD NOT DO - a dashboard is for monitoring, not analysis. Deep investigation belongs elsewhere. Say what should be linked out rather than embedded. 7. THE ALERT QUESTION - if someone only needs to know when something is wrong, they may need a notification rather than a dashboard. Say whether that applies to any of these users. 8. THE ANNOTATION - space for someone to note what caused an unusual movement. Without it, every viewer re-investigates the same spike. 9. THE MAINTENANCE - who owns it, and what happens when a source changes. Most dashboards die by silently showing stale data.
What you get: A decision-led layout with normal ranges, an explicit cut list, refresh cadence matched to decisions and an annotation space.
Tip: Point 3 is what stops dashboards causing panic. A number with no normal range means every fluctuation looks like a problem.
Present data to an audience that will question it
Show findings to people who will push back.
Help me present this analysis. THE FINDING: [WHAT THE DATA SHOWS] THE EVIDENCE: [PASTE THE KEY NUMBERS] AUDIENCE: [WHO, THEIR EXPERTISE, THEIR STAKE IN THE ANSWER] WHAT THEY BELIEVE NOW: [THEIR PRIOR] THE DECISION AT STAKE: [WHAT HAPPENS NEXT] TIME AVAILABLE: [MINUTES] WHO WILL RESIST THIS: [AND WHY] Produce: 1. THE ONE SENTENCE - the finding, stated plainly, with the number. This goes first, not last. 2. THE STRUCTURE - lead with the conclusion, then the evidence, then the implications. Do not walk them through your analytical journey; they do not care how you got there until they doubt the answer. 3. THE SINGLE CHART that makes the case. One. If it needs three, the finding is not clear enough yet. 4. THE METHOD IN THREE SENTENCES - enough to establish credibility, ready to expand if challenged. Have the detail available but not on the slide. 5. THE OBJECTIONS - for an audience with a stake in the answer, the specific challenges. For each: the objection, the honest answer, and whether it actually changes the conclusion. The most common ones are: the sample is too small, the period is unrepresentative, the definition is wrong, correlation is not causation, and it contradicts what we already know. 6. THE LIMITATIONS, STATED BY YOU FIRST - volunteering the weaknesses before anyone finds them is what makes the rest credible. Pick the two most material. 7. WHAT WOULD CHANGE MY MIND - state it. It converts the presentation from advocacy into analysis, and it is disarming to someone preparing to argue. 8. THE CONTRADICTION HANDLING - I said what they believe now. Where the finding contradicts it, address that directly and early. Never let them discover the contradiction themselves midway through. 9. THE BACKUP - what to have ready but not show: the full method, the raw numbers, the sensitivity checks, the alternative explanations you ruled out. 10. THE ASK - what decision you want, stated as a specific action. Do not oversell. An overstated finding is dismantled in the room and takes your credibility with it.
What you get: A conclusion-first structure with one chart, pre-empted objections, volunteered limitations and a stated falsification condition.
Tip: Point 6 is counterintuitive and it works. Naming your own two weaknesses first means nobody else gets to discover them, and everything else you say becomes more believable.
Visualise a comparison fairly
Show a difference without exaggerating or hiding it.
Help me visualise this comparison fairly. WHAT I AM COMPARING: [THE ITEMS OR PERIODS] DATA: """ [PASTE] """ THE POINT I WANT TO MAKE: [YOUR ARGUMENT] WHO WILL SEE IT: [AUDIENCE] DO I HAVE A STAKE IN THE ANSWER: [be honest] Produce: 1. IS THIS A FAIR COMPARISON - check first, before any chart: - Are the groups comparable, or do they differ in something that explains the gap? - Are the periods equal in length and comparable in season? - Are the denominators the same? Comparing raw counts between groups of different sizes is the most common unfair comparison. - Is the measurement identical for both, or did the definition change? Say plainly if the comparison is not valid as constructed, and what would make it valid. 2. THE SIZE OF THE DIFFERENCE - in absolute and relative terms, and whether it is larger than the normal variation within each group. If the gap is smaller than the internal spread, no chart makes it meaningful. 3. THE FAIR CHART - the visualisation that shows the difference at its true size. State the axis range and justify it. 4. THE EXAGGERATED VERSION - show me how this could be made to look bigger: truncated axis, relative rather than absolute framing, a selective date range, or a misleading aggregation. I am asking so I can recognise it, and so I can check I have not done it accidentally. 5. THE UNDERSTATED VERSION - the same for the other direction, because minimising a real effect is equally a distortion. 6. WHAT CONTEXT THE VIEWER NEEDS to judge the comparison: sample sizes, the variation within each group, and the baseline. 7. MY STAKE - I said whether I have one. Where that stake might be shaping the framing, say so. This is the check nobody runs on themselves. 8. THE CAVEAT TO STATE alongside the chart - the one thing that could make this comparison misleading, said out loud. Show the difference at its real size, not at the size that supports my point.
What you get: A validity check on the comparison itself, the true effect size, a fair chart, and both the exaggerated and understated versions for contrast.
Tip: Point 4 is useful in both directions. Seeing how your chart could be manipulated is the fastest way to notice that you already did it by accident.
Turn a table of numbers into a clear story
Explain what a table means in words and pictures.
Help me communicate what this data shows. THE TABLE: """ [PASTE] """ WHAT IT IS: [WHAT THE NUMBERS MEASURE] WHO NEEDS TO UNDERSTAND IT: [AUDIENCE AND THEIR NUMERACY] WHAT THEY WILL DO WITH IT: [DECISION OR ACTION] FORMAT: [email / slide / report / conversation] Produce: 1. WHAT THE DATA ACTUALLY SHOWS - the two or three things a careful reader would take from this table, in order of importance. Not everything; the important things. 2. THE HEADLINE - one sentence containing the single most important finding and its number. 3. THE NUMBERS THAT MATTER - of everything in this table, which three or four should the audience remember? Strip the rest. A table with forty cells communicates nothing; four numbers communicate something. 4. THE COMPARISON THAT MAKES THEM MEANINGFUL - a number alone means nothing. For each key figure, what should it be compared to: last period, a target, a benchmark, or another segment? Supply the comparison. 5. THE SCALE TRANSLATION - where a number is hard to grasp, translate it into something familiar: per customer, per day, as a proportion, or as an equivalent the audience already understands. Do this only where it is honest and not where it inflates. 6. THE VISUAL - if one chart would help, which and why. If a chart would not help, say so; sometimes three numbers in a sentence beat a chart. 7. THE SIMPLIFIED TABLE - if a table is still the right format, the reduced version: fewer rows, fewer columns, sorted meaningfully, rounded sensibly, with the important cells emphasised. 8. THE WRITTEN EXPLANATION - for my stated format, the prose version. Two paragraphs maximum. 9. WHAT THE AUDIENCE WILL MISREAD - given their numeracy, the specific misinterpretation to pre-empt. Percentages of small bases and rate-versus-count confusion are the usual ones. 10. WHAT I AM LEAVING OUT, and whether any of it changes the conclusion. If something omitted would alter the reading, it must be included. Round sensibly. Precision beyond what the data supports signals false confidence.
What you get: The three or four numbers that matter with meaningful comparisons, a headline, a reduced table and a pre-empted misreading.
Tip: Point 3 is the hard part and the whole job. Choosing four numbers out of forty is what turns data into communication.
Where AI actually helps here
- Matplotlib, ggplot, Plotly and D3 code from a described dataset
- Recommending a chart type when you say what the reader should conclude
- Catching honest-mistake distortions — truncated axes, dual axes, pies with nine slices
Where it falls down
- Colour choice for accessibility unless asked. Defaults fail colour-vision deficiency regularly
- Knowing your data’s shape, so it writes code that breaks on real values
- Restraint. Left alone it adds gridlines, legends and annotations nobody needs
The mistake almost everyone makes: Asking for a chart of the data
Ask for a chart that answers a question: “show whether returns rose after the March change”. Then the chart type follows from the question. “Visualise this data” produces a bar chart of everything, which communicates nothing.
Free tool: Prompt Builder
Runs in your browser. No sign-up, nothing uploaded.
Questions people ask
Which chart should I use?
Comparison across categories: bars. Change over time: lines. Part of a whole: a bar, almost always, not a pie. Relationship between two measures: scatter. Tell the model your question and it will reason from that — tell it your columns and it will not.
Can AI make my charts accessible?
If you ask. Specify colour-blind-safe palettes, a non-colour channel for every distinction, and text contrast of at least 4.5:1. None of that is the default.