Creating Charts and Visualizations from CSV Data
Numbers in a table tell part of the story. A chart reveals patterns that columns of figures hide: a revenue dip in Q3, a spike in support tickets after a release, a long tail in order values. ExploreMyData includes a chart builder with six types - bar, line, area, scatter, pie and stacked - built directly from your data, with no plugins and no export-to-another-tool step.
Getting started
Load a CSV (or any supported format: JSON, Parquet, Excel, XML). Once your data is in the table, flip the Grid / Charts toggle next to the view tabs over to Charts. The chart builder takes over the main area, and switching back to Grid brings the table straight back.
The chart builder needs two things from you: which column goes on the X axis and which goes on the Y axis. Everything else has sensible defaults that you can override. One thing to know up front: the Y dropdown only lists number columns, unless you set the aggregation to Count or Count Distinct, which work on any type.
Bar charts
Bar charts are the right choice when your X axis is categorical: product names, regions, departments, status codes. Pick the category column for X and a numeric column for Y, then choose an aggregation function.
Example: revenue by product category
Given this source data:
| order_id | category | revenue |
|---|---|---|
| 1001 | Electronics | 250 |
| 1002 | Clothing | 75 |
| 1003 | Electronics | 430 |
| 1004 | Home | 120 |
| 1005 | Clothing | 95 |
Set X to category, Y to revenue, and aggregation to SUM. The chart builder groups the rows by category and sums the revenue for each group, producing three bars:
| category | SUM(revenue) |
|---|---|
| Electronics | 680 |
| Clothing | 170 |
| Home | 120 |
Line charts
Line charts work best when the X axis is a date or time column. They show trends over a continuous dimension.
Example: monthly order count
If your data has an order_date column and you want to see how many orders were placed each month, set X to order_date, aggregation to Count, and then Y to any column you like (order_id is a good pick). Setting the aggregation first matters: with Count selected the Y dropdown opens up to every column instead of only the numbers. The chart builder groups by month automatically when it detects a date column.
| month | COUNT(order_id) |
|---|---|
| 2025-10 | 312 |
| 2025-11 | 287 |
| 2025-12 | 445 |
| 2026-01 | 398 |
| 2026-02 | 361 |
| 2026-03 | 410 |
The line chart draws a point for each month and connects them, making the December spike and January correction immediately visible.
Secondary grouping
A single bar or line chart answers "how much per X." Adding a secondary grouping column answers "how much per X, broken down by Z."
Example: revenue by month, split by region
Set X to order_date, Y to revenue with SUM, and Group By to region. The result is one line per region, all on the same chart:
| month | North | South | West |
|---|---|---|---|
| 2026-01 | 18,400 | 12,100 | 9,800 |
| 2026-02 | 16,200 | 13,500 | 11,300 |
| 2026-03 | 21,000 | 14,200 | 10,600 |
Each region gets its own line. Diverging trends between regions become visible at a glance.
Stacked bars
Stacked is the sibling of the secondary grouping you just set up. Same three settings, but instead of three lines side by side you get one bar per month divided into coloured segments. Use it when the total matters as much as the split.
Use it for: revenue by month split by region, when the question is "is the business growing" and "where is the growth coming from" at the same time. The bar height answers the first, the segments answer the second. Grouped lines can't show you the total at all; you'd be adding three numbers in your head.
Area charts
An area chart is a line chart with the space underneath filled in. Same configuration, same X and Y, and it suits the same date-shaped data.
Use it for: cumulative or volume-flavoured measures where you want the eye to read magnitude rather than rate of change. Daily active users, storage consumed, tickets open. The fill makes "how much" feel bigger than "how fast", which is the right emphasis for a capacity conversation and the wrong one for a growth-rate conversation. If you have several series, be aware the fills overlap; a stacked bar is usually the clearer option there.
Scatter charts
Scatter is the one chart type where you usually want the aggregation set to None (raw). Every other type collapses rows into groups; scatter is for looking at the rows themselves, one dot each, with a numeric column on both axes.
Use it for: checking whether two measures move together. Discount percentage against units sold, delivery distance against delivery time, account age against lifetime value. A cloud with no shape means no relationship, which is a genuinely useful answer. A diagonal band with a handful of dots far off it means you've found your outliers, and you can go back to the grid and read those specific rows.
One practical note: raw mode plots individual rows, so the Max data points slider matters here more than anywhere else. It runs from 10 to 1,000 and defaults well below the size of most files, so what you're seeing is a slice unless you push it up.
Pie charts
Pie takes a categorical X and a single aggregated Y and shows each category's share of the whole.
Use it for: composition at a single point in time, with few enough slices to read. Share of revenue across four product lines, or the split between paid, trial and free accounts. It answers "what fraction" better than a bar chart does, because the whole circle is the total.
It stops working past about six categories, and it can't show change over time at all. If your X axis is a date, you want a line or an area chart. If you have twenty categories, sort by Y descending, drop the Max data points down, and use a bar chart for the top ten instead.
Aggregation options
The chart builder groups data automatically based on your X axis. You control how the Y values are combined within each group:
- SUM - total value per group. Revenue, quantity, cost.
- AVG - average value per group. Mean order value, average response time.
- COUNT - number of rows per group. Order count, ticket volume, event frequency.
- MIN / MAX - boundary values per group. Lowest price, highest score, earliest date.
- Count Distinct - unique values per group. Distinct customers, distinct SKUs. Like Count, it accepts a Y column of any type.
- Median - the middle value per group, which resists the outliers that skew an average.
- None (raw) - no grouping at all. Plots the rows as they are, which is what you want for a scatter chart.
Changing the aggregation updates the chart immediately. You can switch from SUM to AVG and back without reconfiguring anything else. This makes it fast to explore the same data from different angles.
Chart builder configuration summary
- Type: Bar, Line, Area, Scatter, Pie, Stacked
- X axis: category or date column
- Y axis: numeric column, or any column when the aggregation is Count or Count Distinct
- Aggregation: Sum, Average, Count, Min, Max, Count Distinct, Median, None (raw)
- Group By (optional): splits bars or lines by a second column
- Sort: X ascending or descending, Y ascending or descending
- Max data points: a slider from 10 to 1,000
The chart updates live as you change any setting. No need to click a separate "refresh" button.
For more complex aggregations or multi-step analysis before charting, see the grouping and aggregation guide. You can run pipeline transformations first, then chart the result.