你可以使用包中 的ChartWrapper
类'controls'
它有一个属性chartType
...
var chart = new google.visualization.ChartWrapper({
chartType: 'BarChart', // <-- chart type property
containerId: 'chart',
dataTable: data,
options: {
height: 240,
theme: 'maximized'
}
});
请参阅以下工作片段,图表类型由<select>
google.charts.load('current', {
callback: drawChart,
packages: ['controls', 'corechart']
});
function drawChart() {
var data = google.visualization.arrayToDataTable([
['x', 'y0'],
['a', 898],
['b', 37319],
['c', 8980],
['d', 35400]
]);
var chartType = document.getElementById('chart-type');
var chartWrapper = new google.visualization.ChartWrapper({
chartType: chartType.value,
containerId: 'chart',
dataTable: data,
options: {
height: 240,
theme: 'maximized'
}
});
chartType.addEventListener('change', drawChartWrapper, false);
drawChartWrapper();
function drawChartWrapper() {
chartWrapper.setChartType(chartType.value);
chartWrapper.draw();
}
}
div {
padding: 6px;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div>
<select id="chart-type">
<option value="BarChart" selected>Bar</option>
<option value="ColumnChart">Column</option>
<option value="LineChart">Line</option>
<option value="PieChart">Pie</option>
</select>
</div>
<div id="chart"></div>