Skip to main content

Line Chart

Line charts are essential tools for visualizing data trends over time or continuous data points. Using the react-google-charts library, you can easily integrate interactive line charts into your React applications, leveraging the powerful features of Google Charts.

Each example below is interactive, rendered directly in your browser using SVG, and offers tooltips for detailed views when hovered. Dive into each example to understand how line charts can be customized and utilized to represent your data effectively.


High-Level Overview​

To render a Line Chart, you need to provide the following props to the Chart component:

  • chartType: Set this to "LineChart" for classic line charts or "Line" for Material Design line charts.
  • data: Provide the chart data in a tabular format.
  • options: (Optional) Customize the chart with various options like title, colors, and display settings.
  • width and height: (Optional) Define the size of the chart.

Basic Usage​

Classic Line Chart​

import React from "react";
import { Chart } from "react-google-charts";

const data = [
["x", "dogs"],
[0, 0],
[1, 10],
[2, 23],
[3, 17],
[4, 18],
[5, 9],
[6, 11],
[7, 27],
[8, 33],
[9, 40],
[10, 32],
[11, 35],
];

const options = {
title: "Line Chart Example",
hAxis: { title: "Time" },
vAxis: { title: "Popularity" },
legend: "none",
};

function App() {
return (
<Chart
chartType="LineChart"
width="100%"
height="400px"
data={data}
options={options}
/>
);
}

export default App;

Material Design Line Chart​

import React from "react";
import { Chart } from "react-google-charts";

const data = [
["Year", "Sales", "Expenses"],
["2013", 1000, 400],
["2014", 1170, 460],
["2015", 660, 1120],
["2016", 1030, 540],
];

const options = {
chart: {
title: "Company Performance",
subtitle: "Sales and Expenses over the Years",
},
};

function App() {
return (
<Chart
chartType="Line"
width="100%"
height="400px"
data={data}
options={options}
/>
);
}

export default App;

Examples​

Below are interactive examples of Line Charts rendered using react-google-charts. Each example demonstrates different features and customization options. You can interact with the charts directly in your browser.

Basic Line Chart with Default Styling​

This example shows a basic line chart with default settings.

Material Design Line Chart​

This example demonstrates a Material Design Line Chart with default settings.

Dates in x axis with custom formatting​

Material Design Dual Y-Axis Chart​

This example shows how to create a Material Design Line Chart with dual Y-axes.

Multiple Series Line Chart​

This example demonstrates how to plot multiple data series in a single line chart.

Intervals and Error Bars​

Google Charts allows you to add intervals or error bars to your line charts to represent data variability or uncertainty. Below are examples of different interval styles.

Area Intervals​

Bar Intervals​

Box Intervals​

Line Intervals​

Combining Interval Styles​


Customizing the Line Chart​

You can customize various aspects of the Line Chart using the options prop.

Styling Options​

Customize the chart's appearance:

const options = {
title: "Company Performance",
curveType: "function", // Smooths the lines
legend: { position: "bottom" },
hAxis: {
title: "Year",
gridlines: { count: 15 },
},
vAxis: {
title: "Sales",
gridlines: { color: "none" },
},
colors: ["#a52714", "#097138"],
lineWidth: 4,
intervals: { style: "area" }, // Adds area intervals
};

Dual Y-Axis​

To create a chart with dual Y-axes, you can specify multiple axes in the series option:

const options = {
chart: {
title: "Average Temperatures and Daylight in Iceland Throughout the Year",
},
series: {
0: { axis: "Temps" },
1: { axis: "Daylight" },
},
axes: {
y: {
Temps: { label: "Temps (Celsius)" },
Daylight: { label: "Daylight" },
},
},
};

Intervals and Error Bars​

To add intervals or error bars to your chart, include additional columns in your data and specify the intervals option:

const data = [
["x", "values", { role: "interval" }, { role: "interval" }],
[1, 100, 90, 110],
[2, 120, 95, 130],
[3, 130, 100, 140],
[4, 90, 85, 95],
[5, 70, 60, 75],
[6, 30, 39, 22],
[7, 80, 77, 83],
[8, 60, 55, 60],
[9, 100, 90, 110],
];

const options = {
title: "Line Chart with Intervals",
curveType: "function",
intervals: { style: "line" },
};

Additional Resources​


Happy Charting!