我正在开发一个使用entertainment_story
pkg进行数据访问的Shiny应用程序。我想同步2个highcharter
图,以便在一个图中更改日期范围时(使用图底部的范围选择器,而不是范围选择器按钮),第二个图也应用它们。我了解了highchart
JS函数,该函数捕获here中建议的最小和最大日期(例如this SO answer),但是我不确定如何将这个JS代码应用于我的R /发光的代码。
下面是两个应该同步的afterSetExtremes()
图的简单示例
highchart
感谢任何指针。
答案 0 :(得分:1)
您可以使用xAxis.events.afterSetExtremes事件来触发该函数,该函数将在我们每次更改第一个图表的极限值时更新第二个图表的极限值。当然,您可以在拖动第二个图表时更改此逻辑以更改第一个图表的极端值,或者对大量图表进行相同操作。
这是一个如何在纯JavaScript中执行此操作的示例:https://jsfiddle.net/BlackLabel/yg50ue1c/
这里有一个R实现:
vg.major_axis(data)
请注意,Shiny略有不同,并更改了图表的顺序,因此可以在此处找到第二个图表实例:Highcharts.charts [0],但是在这里找到第一个图表实例:Highcharts.charts [1] 我想知道如果我们有更多的图表会怎样...
API参考:https://api.highcharts.com/highcharts/xAxis.events.afterSetExtremes https://api.highcharts.com/class-reference/Highcharts.Axis#setExtremes