JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://www.google.com/jsapi?fake=.js"></script>
<input type="button" value="Show chart 1" id="clickMe1" />
<input type="button" value="Show chart 2" id="clickMe2" onclick="drawChart();" />
<div id="chart_1" style="display: none"></div>
<div id="chart_2" style="display: none"></div>
CSS
#visualization path {
cursor: pointer
}
JavaScript
google.load('visualization', '1', {packages: ['corechart']});
google.setOnLoadCallback(drawVisualization);
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Country', 'Popularity'],
['Germany', 200],
['United States', 300],
['Brazil', 400],
['Canada', 500],
['France', 600],
['Russia', 700]
]);
// this chart is drawn in a visible div and then immediately hidden
var chart1 = new google.visualization.PieChart(document.getElementById('chart_1'));
google.visualization.events.addListener(chart1, 'ready', function () {
// hide the div when done drawing
document.getElementById('chart_1').style.display = 'none';
// create an event listener for the button that shows the chart
document.getElementById('clickMe1').onclick = function () {
document.getElementById('chart_1').style.display = 'block';
}
});
// show the div before you draw
document.getElementById('chart_1').style.display = 'block';
chart1.draw(data, {
height: 300,
width: 400,
title: 'Chart 1'
});
// this chart only gets drawn when the button is clicked
var chart2 = new google.visualization.PieChart(document.getElementById('chart_2'));
// create an event listener for the button that shows the chart
document.getElementById('clickMe2').onclick = function () {
document.getElementById('chart_2').style.display = 'block';
chart2.draw(data, {
height: 300,
width: 400,
title: 'Chart 2'
});
}
}