Na tej stronie pokazujemy, jak rysować kilka wykresów na jednej stronie internetowej.
Rysowanie wielu wykresów na jednej stronie
Jeśli na jednej stronie chcesz narysować kilka wykresów, w elemencie <head> strony umieść kod tych elementów:
- Wczytaj wszystkie pakiety wymagane przez wykresy w jednym wywołaniu
google.charts.load(). - Do każdego wykresu na stronie dodaj wywołanie funkcji
google.charts.setOnLoadCallback()z wywołaniem zwrotnym, które pobiera wykres jako dane wejściowe, np.google.charts.setOnLoadCallback(myPieChart).
Załóżmy na przykład, że chcesz narysować dwa wykresy kołowe, na których widać, ile pizzy zjedli wczoraj Twoi znajomi, Sara i Antoni. Przykład poniżej pokazuje, jak wyświetlić oba wykresy obok siebie.
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
// Load Charts and the corechart package.
google.charts.load('current', {'packages':['corechart']});
// Draw the pie chart for Sarah's pizza when Charts is loaded.
google.charts.setOnLoadCallback(drawSarahChart);
// Draw the pie chart for the Anthony's pizza when Charts is loaded.
google.charts.setOnLoadCallback(drawAnthonyChart);
// Callback that draws the pie chart for Sarah's pizza.
function drawSarahChart() {
// Create the data table for Sarah's pizza.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['Mushrooms', 1],
['Onions', 1],
['Olives', 2],
['Zucchini', 2],
['Pepperoni', 1]
]);
// Set options for Sarah's pie chart.
var options = {title:'How Much Pizza Sarah Ate Last Night',
width:400,
height:300};
// Instantiate and draw the chart for Sarah's pizza.
var chart = new google.visualization.PieChart(document.getElementById('Sarah_chart_div'));
chart.draw(data, options);
}
// Callback that draws the pie chart for Anthony's pizza.
function drawAnthonyChart() {
// Create the data table for Anthony's pizza.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['Mushrooms', 2],
['Onions', 2],
['Olives', 2],
['Zucchini', 0],
['Pepperoni', 3]
]);
// Set options for Anthony's pie chart.
var options = {title:'How Much Pizza Anthony Ate Last Night',
width:400,
height:300};
// Instantiate and draw the chart for Anthony's pizza.
var chart = new google.visualization.PieChart(document.getElementById('Anthony_chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<!--Table and divs that hold the pie charts-->
<table class="columns">
<tr>
<td><div id="Sarah_chart_div" style="border: 1px solid #ccc"></div></td>
<td><div id="Anthony_chart_div" style="border: 1px solid #ccc"></div></td>
</tr>
</table>
</body>
</html>
Rysowanie wielu wykresów przy użyciu pojedynczego wywołania zwrotnego
W poprzednim przykładzie do rysowania wykresów użyto 2 wywołań zwrotnych, ponieważ dane na obu wykresach są różne. Jeśli chcesz narysować kilka wykresów z tymi samymi danymi, wygodniej jest utworzyć jedno wywołanie zwrotne dla obu wykresów. Ilustruje to poniższy przykład.
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
// Load Charts and the corechart and barchart packages.
google.charts.load('current', {'packages':['corechart']});
// Draw the pie chart and bar chart when Charts is loaded.
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['Mushrooms', 3],
['Onions', 1],
['Olives', 1],
['Zucchini', 1],
['Pepperoni', 2]
]);
var piechart_options = {title:'Pie Chart: How Much Pizza I Ate Last Night',
width:400,
height:300};
var piechart = new google.visualization.PieChart(document.getElementById('piechart_div'));
piechart.draw(data, piechart_options);
var barchart_options = {title:'Barchart: How Much Pizza I Ate Last Night',
width:400,
height:300,
legend: 'none'};
var barchart = new google.visualization.BarChart(document.getElementById('barchart_div'));
barchart.draw(data, barchart_options);
}
</script>
</head>
<body>
<!--Table and divs that hold the pie charts-->
<table class="columns">
<tr>
<td><div id="piechart_div" style="border: 1px solid #ccc"></div></td>
<td><div id="barchart_div" style="border: 1px solid #ccc"></div></td>
</tr>
</table>
</body>
</html>