我刚刚开始使用AmCharts并设置了两个线图,一个在另一个上面,带有各自的滚动条。
现在,我想“链接”两个图的滚动条,这样如果我移动chart1上的滚动条,我将在图表2上获得相同的日期范围。我想这对于监听器,获取值函数和设置值函数来说应该不会太难,但是我无法找到如何获取滚动条的开始/结束值以便我可以使用它们。 / p>
任何帮助都将不胜感激。
感谢
答案 0 :(得分:1)
AmCharts知识库中有一个演示
https://www.amcharts.com/kbase/share-scrollbar-across-several-charts/
这是同步滚动条的代码,(我添加了注释):
创建一个数组以填充图表
var charts = [];
创建您需要的图表
charts.push(AmCharts.makeChart("chartdiv", chartConfig));
charts.push(AmCharts.makeChart("chartdiv2", chartConfig2));
charts.push(AmCharts.makeChart("chartdiv3", chartConfig3));
迭代图表,为"缩放"添加事件监听器。它将共享事件处理程序
for (var x in charts) {
charts[x].addListener("zoomed", syncZoom);
}
事件处理程序
function syncZoom(event) {
for (x in charts) {
if (charts[x].ignoreZoom) {
charts[x].ignoreZoom = false;
}
if (event.chart != charts[x]) {
charts[x].ignoreZoom = true;
charts[x].zoomToDates(event.startDate, event.endDate);
}
}
}