Choosing and Reading Charts with the Data Visualizer
After reading this you will know which of the 29 chart types answers your question, how the common transforms (cumulative sum, moving average, index-100) reshape your numbers, and how to avoid the encoding mistakes that make a chart lie.
A chart is a translation. You have numbers in a table, and you turn each number into a length, a position, a color, or an area so a reader can compare them by eye. The Data Visualizer does the drawing part. The harder part, deciding what visual channel should carry which number, stays with you. This guide covers that decision, the math behind the transforms, and how to read the result.
Here is the hook. Suppose monthly sales are 120, 135, 150, 128, 160, 175 for January through June. A bar chart shows six heights and invites the question "which month was biggest?" A line chart connects them and invites "is the trend up?" Same six numbers, two different questions. Picking the wrong one buries the answer you care about.
What the columns mean
The tool reads your first column as category labels and every further column as a data series. With the sales example the table is two columns wide: month names, then sales values. Three series would be three value columns sharing the same month labels.
A few chart types reinterpret the columns:
- Scatter and bubble
- The first column still holds point labels (shown in tooltips); the next columns are read as X, Y, and (for bubble) size.
- Candlestick
- Four value columns are read as open, high, low, and close, in that order.
- Everything else
- First column labels the axis, remaining columns are heights, areas, or angles.
If your chart looks empty or wrong, check this mapping first. A scatter plot needs two numeric columns after the labels; feed it a single value column and it has an X but no Y to plot.
Pick the chart for the question
Every chart type encodes numbers in a visual channel, and channels differ in how accurately the eye reads them. Position along a common axis is the most accurate. Length is close behind. Angle and area are worse: people underestimate large areas and misjudge pie slices routinely.
That ranking drives the choice:
- Trend over time: line or slope chart. The X axis carries order, so gaps and direction are visible.
- Comparison between items: bar or dumbbell. Bars share a baseline; a dumbbell shows two values per item (before and after) with a connecting bar.
- Part of a whole: stacked bar or treemap. A treemap uses area, so use it when you have many parts and only need rough proportions.
- Distribution: histogram or box plot. These answer "where do most values fall and how spread out are they?"
- Relationship between two variables: scatter, with a trendline if you suspect a linear pattern.
Avoid a pie or a treemap when the parts are close in size. If three slices are 34%, 33%, and 33%, no reader can rank them by eye. A bar chart with a shared baseline makes a one-point difference obvious.
The transforms and their math
Three value transforms change the story without changing the underlying data. Know exactly what each does.
Cumulative sum replaces each value with the running total up to that point.
Here x_j is the value in row j and C_i is the cumulative value at row i. For the sales series the cumulative values are 120, 255, 405, 533, 693, 868. A cumulative line only ever rises (given non-negative inputs), so it answers "how much in total so far?" not "how was each month?"
Moving average smooths a series by averaging each point with its neighbors over a window of width w.
With w = 3 the first fully defined value is at row 3: (120 + 135 + 150) / 3 = 135. The next is (135 + 150 + 128) / 3 \approx 137.7. Smoothing trades detail for a clearer trend, and it necessarily lags: a spike shows up only after it enters the window.
Index-100 rescales every value so the first equals 100, letting you compare series that start at different levels.
For the sales series, I_1 = 100, I_2 = 100 \times 135/120 = 112.5, and I_6 = 100 \times 175/120 \approx 145.8. Now every series reads as percent growth from its own start, so a small series and a large one sit on the same scale.
A worked example with the sample data
Six months of sales, four views
Paste the two-column table used above (month names, then the sales values 120 through 175). Then reproduce these views.
- As a bar chart: six bars of height 120 to 175. June is tallest, April dips to 128. The eye ranks months instantly.
- As a line chart: the same points connected. The story becomes "growth with an April setback."
- Add an average line. The mean is (120+135+150+128+160+175)/6 = 868/6 \approx 144.7. January, February and April sit below it; March, May and June sit above.
- Apply cumulative sum: the line climbs to 868 by June and never falls, which is the total-to-date view.
Four charts, one table. Each answers a different question, and none of them changed a single input number.
Reading a chart honestly
The single most common distortion is a truncated Y axis. If the sales axis runs from 120 to 175 instead of from 0, June's bar looks several times taller than April's, when the real difference is (175 - 128)/128 \approx 37\%. For bar charts, start the axis at zero, because bars encode value by length and a cut baseline breaks that encoding. Line charts can tolerate a non-zero baseline because they encode slope, not length, but say so in the caption.
When you add a trendline to a scatter, read two things: the slope (how much Y changes per unit of X) and how tightly the points hug the line. A steep slope with points scattered far from it is a weak relationship dressed up to look strong. Do not report the slope without eyeballing the scatter.
Annotations earn their place when they name the number a reader would otherwise squint for: the average, the target, the min and max. Add the average line and label it 144.7 rather than leaving the reader to estimate it from six bars.
Common mistakes
Too many series on one chart. Five overlapping lines become spaghetti. Use a slope chart for start-to-end comparison, or split into small separate charts.
Categorical data on a scatter. Scatter needs two numeric columns after the labels. Feeding it categories with a single value column produces an empty or nonsensical plot.
Comparing raw counts across groups of different sizes. If region A has 10 times the customers of region B, raw sales bars just restate that. Index-100 or a percentage puts them on comparable footing.
Reading a moving average as if it were live. The smoothed value at June includes April and May, so it lags the real June figure. In the widget above, watch the smoothed peak arrive late.
Trusting area to communicate exact size. In a treemap, a rectangle with twice the area rarely looks twice as big. Use treemaps for structure, bars for precise comparison.
Related tools
Prepare your data before you chart it. Use the CSV Viewer & Editor to sort, filter, and extract the exact columns you need. If your data starts as a spreadsheet, run it through the Excel → CSV Converter one sheet at a time. To summarize before plotting, the Pivot Table Maker groups and aggregates without a spreadsheet, which often turns a raw log into a chart-ready table.
If your source is JSON, the CSV ↔ JSON Converter gets it into CSV, or the JSON Table Viewer previews it as a sortable table first. For columnar files, the Parquet & Feather Preview lets you inspect the contents without Python. When your data contains names, emails, or IDs you would rather not publish, mask them first with the Data Anonymizer. And to drop a small result into documentation, the Markdown Table Generator produces an aligned table.
Frequently asked questions
Does my data leave my computer?
No. All charting runs in your browser, and your files never leave your device. The one exception is the embed button: when you click it, only the rendered chart image is uploaded to abc.tools so it can be shown in an iframe, and only at that moment.
SVG or PNG for export?
Use SVG when the destination scales the image, because it is true vector output and stays sharp at any size. Use PNG (which renders at up to 4× resolution) when you need a fixed raster for print or a slide that does not support SVG.
Why does my scatter plot show nothing?
Scatter needs at least two numeric columns after the label column: one for X, one for Y. With only a label column and a single value column there is no Y to plot. Add a second numeric column or switch to a bar or line chart.
What window should I pick for a moving average?
Match it to the noise you want to remove: the tool offers a 3-point window for light smoothing and a 7-point window for heavier smoothing, such as flattening the weekly cycle in daily data. Remember that a window of w leaves the first w-1 points averaged over fewer values and lags every change by roughly half the window.
How is the average line computed?
It is the plain arithmetic mean of the series: sum the values and divide by the count. For the sales table that is 868 divided by 6, which rounds to 144.7.