你用ChartWrapper
,ControlWrapper
和Dashboard
.
这是来自 Google 的与此相关的文档。
基本上,您无需new google.visualization.ScatterChart(document.getElementById('yourId'))
使用名为 ChartWrapper 的东西来启动图表(在我看来,这是一种更简单、更易读的方法)。
然后创建一个ControlWrapper
(控件(日期范围过滤器)元素的包装器)。
最后ControlWrapper
,您ChartWrapper
通过您的Dashboard
. 您的数据可能类似于:
var data = google.visualization.arrayToDataTable([
['Age', 'Weight', 'Date'],
[ 8, 12, new Date(2015, 10, 1)],
[ 4, 5.5, new Date(2015, 10, 2)],
[ 11, 14, new Date(2015, 10, 3)],
[ 4, 5, new Date(2015, 10, 4)],
[ 3, 3.5, new Date(2015, 10, 5)],
[ 6.5, 7, new Date(2015, 10, 6)]
]);
ChartWrapper 可能如下所示:
var scatterWrap = new google.visualization.ChartWrapper({
chartType:'ScatterChart',
containerId:'chart_div',
dataTable:data,
view:{
columns:[0, 1] // This makes sure your ScatterChart won't try to use the third column for visualization, that would result in an error.
}
});
和这样的 ControlWrapper
var dateRangeWrap = new google.visualization.ControlWrapper({
controlType:'DateRangeFilter',
containerId:'dateRange',
options:{
filterColumnIndex:2
}
});
最后初始化并绑定到您的仪表板:
var googleDashboard = new google.visualization.Dashboard(document.getElementById('dashboard'));
googleDashboard.bind(dateRangeWrap, scatterWrap);
googleDashboard.draw(data);
这一切都将在这个小提琴中结束。(请注意,您需要加载controls
而不是corechart
在您的 google.load 中)。