具有可选 Google 图表类型的仪表板
Dashboard with selectable Google chart type
我不熟悉 google 图表,所以如果这个问题过于宽泛或毫无意义,请原谅。
我想知道如何从可能的图表列表中创建图表类型 selectable 的 google 图表仪表板。对于同一组数据,应显示所有适用的图表类型,并且用户 select 是他想要的。之后,数据会根据图表自动呈现 selected.
例如,检查 Visualizing SPARQL query results in GraphDB,任何查询的结果都可以使用一组相应的 google 图表可视化,这些图表可以 select 编辑甚至配置。要尝试它,在查询编辑窗格的右上角,有一个文件夹图标,您可以在其中 select 保存的查询,然后在窗格的底部 select google 图表并配置然后呈现结果。
这个组件是否已经存在并且我可以使用?有什么建议吗?
您可以使用 'controls'
包
中的 ChartWrapper
class
它有一个 属性 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>
我不熟悉 google 图表,所以如果这个问题过于宽泛或毫无意义,请原谅。
我想知道如何从可能的图表列表中创建图表类型 selectable 的 google 图表仪表板。对于同一组数据,应显示所有适用的图表类型,并且用户 select 是他想要的。之后,数据会根据图表自动呈现 selected.
例如,检查 Visualizing SPARQL query results in GraphDB,任何查询的结果都可以使用一组相应的 google 图表可视化,这些图表可以 select 编辑甚至配置。要尝试它,在查询编辑窗格的右上角,有一个文件夹图标,您可以在其中 select 保存的查询,然后在窗格的底部 select google 图表并配置然后呈现结果。
这个组件是否已经存在并且我可以使用?有什么建议吗?
您可以使用 'controls'
包
ChartWrapper
class
它有一个 属性 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>