1
enter image description hereチャート範囲フィルタスライダを使用してグラフを移動したいとします。私は画面上に再生ボタンがあるのと同じようなものを持っています。私が再生ボタンを押すと、固定された範囲スライダが特定の時間間隔で移動しています。私はあなたと私のコードを共有します。私はシミュレーションのようなものが欲しい。数秒後にグラフの範囲スライダを移動してGoogleグラフでシミュレーションする
var chart = new google.visualization.ChartWrapper({
chartType: 'LineChart',
containerId: 'chart_div',
options: {
//title: 'Phase 1 -Tower 44',
hAxis: {
format: ' yyyy-MMM-dd hh:mm',
title: 'Time',
textStyle: {
color: 'black',
fontSize: 10,
fontName: 'Arial',
bold: false,
italic: false
},
gridlines: { color: 'grey' },
titleTextStyle: {
color: 'black',
fontSize: 10,
fontName: 'Arial',
bold: true,
italic: false
}
},
vAxes: {
0: {
viewWindowMode: 'explicit',
title: 'Line Current (A)',
textStyle: { color: '#ED0A0A' },
titleTextStyle: {
color: 'ED0A0A'
},
viewWindow: {
min: 0,
max: 700
},
ticks: [0, 100, 200, 300, 400, 500, 600, 700],
gridlines: { color: 'transparent' }
},
1: {
title: 'Line Temperature (°C)',
textStyle: { color: '#004BA5' },
gridlines: { color: 'grey' },
viewWindow: {
min: 0,
max: 500
},
ticks: [0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500],
titleTextStyle: {
color: '#004BA5'
}
}
},
series: {
0: { targetAxisIndex: 0 },
1: { targetAxisIndex: 1 }
},
chartArea: {
width: '85%',
height: 500
},
//lineWidth: 3,
//lineDashStyle: [1, 2, 2],
'width': '85%',
'height': 620,
curveType: 'function',
colors: ['#ED0A0A', '#004BA5', '#EDB80F'],
legend: {
position: 'none',
},
pointsVisible: true
}
});
その後、私のコントロールのラッパーコードが
var control = new google.visualization.ControlWrapper({
controlType: 'ChartRangeFilter',
containerId: 'control_div',
options: {
filterColumnIndex: 0,
ui: {
chartOptions: {
height: 40,
chartArea: {
width: '90%',
},
'hAxis': { 'baselineColor': 'none', format: " hh:mm:ss" }
// , 'gridlines': { 'color': 'none' }
}
}
},
});
を下回っていると、ボタンのクリックイベントを再生するには、このようなものです...
$("#play").click(function() {
setInterval(function() {
var state = stateStatus.getState();
control.setOption('ui.chartOptions.hAxis.viewWindow.min', state.range.start);
control.setOption('ui.chartOptions.hAxis.viewWindow.max', state.range.end);
control.setState(controll.getState());
control.draw();
}, 500);