Jquery 更改Google图表中图表范围筛选器的值

Jquery 更改Google图表中图表范围筛选器的值,jquery,charts,google-visualization,Jquery,Charts,Google Visualization,对于折线图,我有两个图表范围过滤器 一个是日期,第二个是时间 首先,我希望从日期范围过滤器中选择日期,然后我希望其他图表范围滑块的值相对于第一个滑块进行更改 或者如何设置图表范围过滤器的“hAxis”值 提前谢谢 var controll = new google.visualization.ControlWrapper({ controlType: 'ChartRangeFilter', containerId: 'contr

对于折线图,我有两个图表范围过滤器

一个是日期,第二个是时间

首先,我希望从日期范围过滤器中选择日期,然后我希望其他图表范围滑块的值相对于第一个滑块进行更改

或者如何设置图表范围过滤器的“hAxis”值

提前谢谢

  var controll = new google.visualization.ControlWrapper({
                controlType: 'ChartRangeFilter',
                containerId: 'control_div1',
                options: {

                    filterColumnIndex: 0,

                    ui: {
                        chartOptions: {
                            height: 50,
                            labelStacking: 'vertical',

                            chartArea: {
                                width: '80%',
                            },

                            'hAxis': { 'baselineColor': 'none', format: "dd MMM yyyy" }


                        }
                    }
                },
                state: {
                    range: {
                        start: new Date(2017, 5, 8, 20, 00, 00, 00),
                        end: new Date(2017, 5, 8, 20, 50, 00, 00)

                        //state: { lowValue: new Date(2017, 5, 5, 20, 00, 00, 00),
                        //    highValue: new Date(2017, 5, 13, 20, 50, 00, 00) }
                    }

                }
            });
第二个控件包装器跟随时间变化

var control = new google.visualization.ControlWrapper({
        controlType: 'ChartRangeFilter',
        containerId: 'control_div',
        options: {

            filterColumnIndex: 0,

            ui: {
                chartOptions: {
                    height: 50,

                    chartArea: {
                        width: '80%',
                    },

                    'hAxis': { 'baselineColor': 'none', format: " hh:mm:ss" }



                }
            }
        },


    });

侦听第一个控件上的
'statechange'
事件

然后使用
状态
属性值设置第二个值的范围

请确保在设置状态后重新绘制控件

google.visualization.events.addListener(controlDate, 'statechange', function () {
  var stateDate = controlDate.getState();
  controlTime.setState({
    range: {
      start: stateDate.range.start,
      end: stateDate.range.end
    }
  });
  controlTime.draw();
});

请参阅以下工作片段

google.charts.load('current'{
回调:图纸,
包:['controls','corechart']
});
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('date','TimeStamp');
data.addColumn('number','Value');
数据添加行([新日期('05/03/2016 12:00:19'),0]);
数据添加行([新日期('05/03/2016 12:01:31'),1]);
数据添加行([新日期('05/03/2016 12:02:43'),2]);
数据添加行([新日期('05/03/2016 12:32:01'),3]);
数据添加行([新日期('05/03/2016 12:33:14'),4]);
数据添加行([新日期('06/03/2016 11:50:42'),5]);
数据添加行([新日期('06/03/2016 11:51:57'),6]);
数据添加行([新日期('06/03/2016 11:53:11'),7]);
数据添加行([新日期('06/03/2016 11:54:25'),8]);
数据添加行([新日期('06/03/2016 11:55:39'),9]);
数据添加行([新日期('07/03/2016 15:43:50'),10]);
数据添加行([新日期('07/03/2016 15:45:02'),11]);
数据添加行([新日期('07/03/2016 15:46:14'),12]);
数据添加行([新日期('07/03/2016 15:47:26'),13]);
var controlDate=new google.visualization.ControlWrapper({
controlType:“ChartRangeFilter”,
集装箱ID:“控制日期”,
选项:{
filterColumnLabel:“时间戳”,
用户界面:{
图表选项:{
哈克斯:{
格式:“dd-MMM-yyyy”
}
}
}
}
});
google.visualization.events.addListener(controlDate,'statechange',function(){
var stateDate=controlDate.getState();
controlTime.setState({
范围:{
开始:stateDate.range.start,
结束:stateDate.range.end
}
});
controlTime.draw();
});
var controlTime=new google.visualization.ControlWrapper({
controlType:“ChartRangeFilter”,
集装箱运输:“控制时间”,
选项:{
filterColumnLabel:“时间戳”,
用户界面:{
图表选项:{
哈克斯:{
格式:“hh:mm:ss”
}
}
}
}
});
var chart=new google.visualization.ChartWrapper({
图表类型:“线条图”,
集装箱船:“海图线”
});
var dash=new google.visualization.Dashboard(document.getElementById('Dashboard');
虚线绑定([controlDate,controlTime],[chart]);
破折号.绘图(数据);
}


谢谢兄弟我找到了一个办法。!接下来我想知道的是,我是否可以移动固定范围滑块,就像我是否可以在设置间隔函数中使用它来模拟图表一样。几秒钟后。使用如上所示的
setState
方法来更改任何过滤器上的范围,只需确保之后重新绘制即可--您还可以设置“默认范围”用于通过添加
状态
键创建时的控件,类似于
选项
。。。这是我下一个问题的链接。请引导我