To make a graph in Google Sheets, select your data, including the column headings, then choose Insert > Chart. Double-click the chart to change its type and settings in the Chart editor.
Getting the first chart onto the sheet is straightforward. The decisions afterward take more care: which columns belong together, whether the dates are recognized, and what the chart should help someone compare.
We’ll start with Google Sheets’ familiar spreadsheet workflow: select a range, configure the series, and adjust the chart settings. Using a small revenue table, we’ll build monthly columns and a comparison against a target. Then we’ll show a faster approach in Deepnote, asking Agent to load a public dataset and create an interactive graph from one request.
These instructions use Google Sheets in a desktop browser. The Sheets walkthrough uses fictional revenue figures; the Deepnote example uses historical data from Plotly’s built-in Gapminder dataset.
Insert your first chart
Copy this table into cells A1:D7 of a blank sheet. Enter the amounts as numbers, without typing “USD” into each cell.
Month | Online revenue (USD) | Store revenue (USD) | Revenue target (USD) |
|---|---|---|---|
January | 12000 | 18000 | 32000 |
February | 15000 | 17000 | 32000 |
March | 14000 | 19000 | 34000 |
April | 18000 | 20000 | 36000 |
May | 21000 | 19000 | 38000 |
June | 24000 | 22000 | 42000 |
We’ll initially use only the first two columns.
- Select A1:B7, including the headings.
- Choose Insert > Chart.
- In the Chart editor’s Setup tab, choose Column chart.
- Check that Month supplies the horizontal labels and Online revenue (USD) supplies the numerical series. Use row 1 as headers.
You should see six columns. January should reach 12,000 and June 24,000. Those two checks catch an incorrect selection before we spend time formatting it.
Online revenue doubles across the period, but it does not rise every month: March is slightly below February. Keep that dip visible when describing the result.
Change the chart type
Double-click the chart and open Setup > Chart type to choose another view. Sheets suggests a chart based on the selected data, so the initial result may differ from the one we want.
For this table, the choice depends on the comparison:
Question | Chart to use | Data needed |
|---|---|---|
How much online revenue did each month generate? | Column | Month and online revenue |
How did online revenue change through the period? | Line | Month and online revenue |
How did online and store revenue compare each month? | Grouped columns | Month and both revenue columns |
How did each channel contribute to monthly revenue? | Stacked columns | Month and both revenue columns |
Did total revenue reach the monthly target? | Combo | Month, total revenue, and target |
In Sheets, bar charts are horizontal and column charts are vertical. Horizontal bars work well for long category names; line charts emphasize change over time.
Our guide to types of graphs and charts explains the alternatives when the choice is less obvious.
Compare two series
Change the data range to A1:C7 and use a column chart with stacking turned off. Each month should now contain two columns, one for each channel.
A series is a set of related values. Here, online revenue is one series and store revenue is another.
The comparison adds something the first chart could not show. Store revenue starts higher, but online revenue overtakes it in May and remains higher in June.
Choose stacked columns when the monthly total and its composition matter more. A 100% stacked chart answers a different question: what percentage came from each channel? Its equal-height columns conceal the increase in total revenue.
Leave the target out of either stack. A target is a benchmark, not another source of revenue.
Compare total revenue with a target
Add Total revenue (USD) in E1. Enter =SUM(B2:C2) in E2 and fill down through E7.
The totals should be:
Month | Total revenue (USD) | Revenue target (USD) |
|---|---|---|
January | 30000 | 32000 |
February | 32000 | 32000 |
March | 33000 | 34000 |
April | 38000 | 36000 |
May | 40000 | 38000 |
June | 46000 | 42000 |
For a simple chart source, create this three-column summary in G1:I7. You can reference the original cells so changes carry through: G2 uses =A2, H2 uses =E2, and I2 uses =D2. Fill those formulas down.
Select G1:I7 and insert a Combo chart. Under Customize > Series, set total revenue to columns and the target to a line. Keep both on the left axis because they use the same currency. Google’s current combo-chart options also include a clustered column and line starting layout.
Revenue falls short of the target in January and March, meets it in February, and exceeds it from April through June.
Customize titles, axes, colors, and legends
We’ll format the revenue-versus-target chart so someone can understand it without reading the spreadsheet.
Name the measurement and period
Under Customize > Chart & axis titles, use:
- Chart title: Monthly revenue versus target, January to June 2026
- Horizontal axis title: Month
- Vertical axis title: Revenue (USD)
Under Vertical axis, set the minimum to 0. The columns encode revenue through their height, so their baseline should remain visible.
Make the series easy to distinguish
Use a strong color for revenue and a contrasting, quieter color for the target line. Keep the legend visible and its names specific.
We would avoid a different color for every month here. The horizontal labels already identify the months; color is more useful for separating revenue from its target.
For supported charts, open Customize > Series > Data labels to display values. Six revenue labels may help in a presentation. Labeling every point on several lines can quickly become crowded.
Resize the finished chart to approximately the size at which readers will see it. A title that fits across your monitor can become unreadable in a narrow article column.
Fix common Google Sheets chart problems
When a graph looks wrong, inspect its source and setup before changing its appearance.
The chart uses the wrong range
Open Setup > Data range and check the selected cells. For our first chart, the range is A1:B7. For the two-channel comparison, it is A1:C7.
Watch for a grand total row accidentally included as another month. It can become the tallest column while adding no useful comparison.
A chart also needs its range to include newly added rows. If July is in row 8 but the range still ends at row 7, extend the selection.
Months appear in the legend
This usually means the chart is interpreting the table in the wrong direction.
Under Setup, check Switch rows / columns. For our table, months belong on the horizontal axis and revenue columns define the series. Confirm the header setting as well.
For the two-channel chart, we expect six month labels and two legend entries. Six legend entries named January through June are a useful warning.
Dates sort alphabetically or behave like text
Our first example uses month names as category labels. Their order comes from the table. That works for this six-month illustration, but a recurring report should use full dates, especially when it spans several years.
For January 2026, enter =DATE(2026,1,1). Use the first day of each subsequent month for the remaining rows, then format the cells to display a month and year.
If imported dates are not recognized:
- Test a cell with
=ISNUMBER(A2). Sheets stores recognized dates numerically, soFALSEindicates that the cell is not a numeric date value. - For text dates in a recognized format, try
=DATEVALUE(A2)in a helper column. - Format the converted results as dates and check them against the original records.
ISNUMBER alone does not prove that a number is the intended date. Likewise, DATEVALUE cannot interpret every text format. Check ambiguous dates before converting an entire column.
Changing the display format cannot resolve whether 03/04/2026 means March 4 or April 3. The source convention and spreadsheet locale matter.
Sort the whole table together after conversion. Sorting only the date column would separate dates from their revenue values.
A series is missing or the chart is blank
Check whether the selected values are numbers. Imported amounts such as 12,000 USD may be text even though they look numerical.
Use =ISNUMBER(B2) to test a cell. For a text number Sheets recognizes, =VALUE(B2) can convert it. Formatting a text cell as currency is not the same as converting its contents.
Also check that the intended numerical column appears under Series and that the selected range contains populated rows.
A small series looks flat beside a large one
First check the units. Revenue and order counts should not share an unlabeled numerical scale.
Sheets supports a right-hand axis through Customize > Series > Axis > Right axis for supported chart types. Label both axes if you use it.
We would usually put revenue and orders in separate charts with aligned dates. Two adjustable scales can make lines appear closely related even when that impression depends on the chosen axis limits. Revenue and its revenue target, however, belong on the same scale.
Which chart types does Google Sheets support?
Google’s current documentation lists the following chart families and related variants.
Chart family | Related options |
|---|---|
Line | Line-based time-series views |
Combo | Mixed series, including columns and lines |
Area | Stacked, 100% stacked, and stepped variants |
Column | Standard, stacked, and 100% stacked |
Bar | Standard, stacked, and 100% stacked |
Pie | Pie and doughnut |
Scatter | Scatter and bubble |
Histogram | Numerical values grouped into bins |
Box and whisker | Median, quartiles, and outliers |
Stock | High-low-close and open-high-low-close |
Organizational | Hierarchical relationships |
Treemap | Nested rectangles |
Geo | Geographic comparisons |
Waterfall | Additions and subtractions |
Radar | Values across radial axes |
Gauge | Values within a range |
Annotated timeline | Time series with notes |
Table | Sortable, paged tabular output |
Availability does not make every option appropriate for your table. A histogram needs individual numerical observations. Our six monthly revenue totals would make a very limited distribution example.
What is missing?
Sankey diagrams and violin plots are not listed among Google Sheets’ native chart types. For those views, use Deepnote’s Sankey diagram generator to show flows or its AI chart generator to request a violin plot.
Google Sheets now documents native box-and-whisker charts. If you prefer to create and refine that comparison through a written request, Deepnote’s box plot maker provides another route.
For a Sankey diagram, the data need source, target, and value columns. A stacked chart can show composition, but it cannot show where each flow goes.
If you are choosing between spreadsheet tools, our Excel graph tutorial covers that workflow separately.
Create a graph faster with Deepnote Agent
Google Sheets required us to select ranges, calculate a summary column, and configure each series. Deepnote Agent can work through data preparation and chart creation from a written request, with the code available for review.
For this example, we’ll use historical life-expectancy data from the Gapminder dataset included with Plotly, a Python visualization library. Agent can load the dataset directly, so the request needs no spreadsheet export or file upload.
In Deepnote’s AI chart generator, describe the dataset and the comparison you want to make.
Use this request:
Load the built-in Gapminder dataset using
plotly.express.data.gapminder(). Use the existing records for Brazil, India, and Japan to create an interactive line graph of life expectancy from 1952 through 2007.Put year on the horizontal axis and life expectancy in years on the vertical axis. Sort each country’s observations chronologically. Use a separate color for each country, straight connectors, and visible markers at the recorded years. Do not invent annual observations between the five-year records.
Title the chart “Life expectancy in Brazil, India, and Japan, 1952–2007.” Label the axes “Year” and “Life expectancy (years).” Use one shared vertical scale from 0 to 90, identify each country in the legend, and show the country, year, and life expectancy on hover.
Below the chart, show each country’s life expectancy in 1952 and 2007 and calculate the increase in years. Check for missing values and duplicate country-year records before plotting. Identify the source as the historical Gapminder sample bundled with Plotly, not current estimates.
A follow-up request can focus the comparison:
Add a horizontal bar chart comparing the increase in life expectancy from 1952 to 2007 for these three countries. Calculate the increase from the endpoint values, sort the bars from largest to smallest, and start the value axis at zero. Label the amounts in years.
The line graph shows the path over time, while the bar chart compares the change between two dates. Keeping both calculations in the notebook lets the team inspect how each view answers a different question.
Make other chart types in Deepnote
Choose a guide based on the comparison you want to make:
What you want to show | Deepnote chart guides |
|---|---|
Compare categories or individual values | |
Follow change over time | |
Show parts of a whole | |
Examine distributions | |
Explore relationships between measurements | |
Compare profiles across several dimensions | |
Show overlap between sets | |
Trace quantities between stages | |
Compare stock performance across a market |