繁体   English   中英

如何在仪表板中添加按钮以在两种类型的谷歌图表之间切换

[英]how to add buttons to switch between two types of google charts in a dashboard

我有一个折线图和一个应用于该折线图的日期范围过滤器,这是我目前的代码......

function go(){

 window.setTimeout( function(){
var p=0;
var table = document.getElementById('mytable');
var rows = table.getElementsByTagName('tr');
var i, j, cells;
var distance=[];
var date=[];
var entryid=[];
j=rows.length;
for (i = 1; i < j; i++) {
cells = rows[i].getElementsByTagName('td');
if (!cells.length) {
    continue;
}
distance[i-1] = parseInt(cells[1].innerHTML);
date[i-1]=new Date(reverse(cells[2].innerHTML));
entryid[i-1]=cells[0].innerHTML;
}
var c=[];
for (var z=0;z<distance.length;z++){
c.push([date[z],distance[z]]);
}
/*document.getElementById('cvs').innerHTML=c;*/
function reverse(f){
var g=f.split("/");
var goodstr=g[1]+"/"+g[2]+"/"+g[0];
return goodstr;
}
google.charts.load('44', {
callback: drawBackgroundColor,
packages: ['corechart','controls']
});
function drawBackgroundColor() {

var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Distance');

data.addRows(c);

var options = {
hAxis: {
  title: 'Date'
},
vAxis: {
  title: 'Distance Ran'
},
backgroundColor: '#f1f8e9'
};
var control;
var chartWrapper;
var dash;
dash = new google.visualization.Dashboard(
document.getElementById('dashboard_div'));
var controlOptions = {
    filterColumnIndex: 0
};
///////////////////////////


control = new google.visualization.ControlWrapper({
controlType: 'DateRangeFilter',
containerId: 'control_div',
options: controlOptions
});


chartWrapper = new google.visualization.ChartWrapper({
chartType:'LineChart',//'LineChart', //'LineChart',
containerId: 'cvs',
options: options
});

dash.bind([control], [chartWrapper]);

dash.draw(data);

}
}, 5 * 1000 );

我想修改此代码以添加按钮以在具有相同数据的两种类型的图表、折线图和条形图之间切换。 可能我需要添加另一个带有 chartType="BarChart" 的 chartWrapper 并使用一些 if,else 语句,但我似乎无法弄清楚。 有人可以帮助我实现这一目标。 提前致谢 :) 。

看看文档中的这个例子: https : //developers.google.com/chart/interactive/docs/gallery/controls#7-draw-your-dashboard

看起来正是你所需要的

这样的事情应该工作

document.getElementById('b2').addEventListener("click", changeType);
          function changeType(){
            chartWrapper.setChartType('ColumnChart');
            chartWrapper.draw();
          }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM