A thin, typed, React wrapper for Google Charts.
- React Google Charts
- Installation
- Quick Start
- Quick Walkthrough
- Examples
- Area Chart
- Bar Chart
- Bubble Chart
- Calendar Chart
- Candlestick Chart
- Column Chart
- Diff Scatter Chart
- Diff Column Chart
- Donut Chart
- Gantt Chart
- Gauge Chart
- Geo Chart
- Histogram Chart
- Line Chart
- Material Bar Chart
- Material Line Chart
- Org Chart
- Pie Chart
- Sankey Chart
- Scatter Chart
- Stepped Area Chart
- Table Chart
- Timeline Chart
- Treemap Chart
- Waterfall Chart
- Wordtree Chart
- Run the example app
- Contributing
With your favorite package manager (yarn, pnpm or npm) :
yarn add react-google-charts
# or
npm i -s react-google-charts
import * as React from "react";
import { render } from "react-dom";
import { Chart } from "react-google-charts";
export default class App extends React.Component {
render() {
return (
<div className={"my-pretty-chart-container"}>
<Chart
chartType="ScatterChart"
data={[["Age", "Weight"], [4, 5.5], [8, 12]]}
width="100%"
height="400px"
legendToggle
/>
</div>
);
}
}
render(<App />, document.querySelector("#app"));
import { Chart } from "react-google-charts";
import * as React from "react";
import { render } from "react-dom";
const options = {
title: "Age vs. Weight comparison",
hAxis: { title: "Age", viewWindow: { min: 0, max: 15 } },
vAxis: { title: "Weight", viewWindow: { min: 0, max: 15 } },
legend: "none"
};
const data = [
["Age", "Weight"],
[8, 12],
[4, 5.5],
[11, 14],
[4, 5],
[3, 3.5],
[6.5, 7]
];
const ExampleChart = () => {
return (
<Chart
chartType="ScatterChart"
data={data}
options={options}
width="80%"
height="400px"
legendToggle
/>
);
};
render(<ExampleChart />, document.getElementByID("app"));
import * as React from "react";
import { Chart } from "react-google-charts";
const ExampleChart = () => {
return (
<Chart
chartType="ScatterChart"
rows={[[8, 12], [4, 5.5], [11, 14], [4, 5], [3, 3.5], [6.5, 7]]}
columns={[
{
type: "number",
label: "Age"
},
{
type: "number",
label: "Weight"
}
]}
options={
// Chart options
{
title: "Age vs. Weight comparison",
hAxis: {
title: "Age",
viewWindow: { min: 0, max: 15 }
},
vAxis: { title: "Weight", viewWindow: { min: 0, max: 15 } },
legend: "none"
}
}
width={"100%"}
height={"400px"}
legendToggle
/>
);
};
export default ExampleChart;
Set the chart-specific events you want to listen to and the corresponding callback. The callback has the component as an argument.
import * as React from "react";
import { Chart } from "react-google-charts";
const chartEvents = [
{
eventName: "select",
callback(chartWrapper) {
console.log("Selected ", chartWrapper.getChart().getSelection());
}
}
];
const data = [
["age", "weight"],
[8, 12],
[4, 5.5],
[11, 14],
[4, 5],
[3, 3.5],
[6.5, 7]
];
const options = {
title: "Age vs. Weight comparison",
hAxis: { title: "Age", viewWindow: { min: 0, max: 15 } },
vAxis: { title: "Weight", viewWindow: { min: 0, max: 15 } },
legend: "none"
};
const ExampleChart = () => {
return (
<Chart
chartType="ScatterChart"
data={data}
options={options}
graphID="ScatterChart"
width="100%"
height="400px"
chartEvents={chartEvents}
/>
);
};
export default ExampleChart;
git clone https://www.github.com/rakannimer/react-google-charts
cd react-google-charts
npm i
npm start
Contributions are very welcome. Check out CONTRIBUTING.md