我试图在与用户按下按钮相对应的时间序列股票图表上设置极值。这是细分:
用户点击图表顶部的按钮(我已编辑了"所有"," 1M"," 3M"按钮在顶部)
单击该按钮时,xAxis(2个月)上的自定义区域会被放大。例如,10月1日到12月首先。现在,缩放将转到图表的末尾。
它与以下链接非常相似。
我现在为该按钮的R代码如下:
hc_rangeSelector(buttons=list(list(type='month', text='New', count=2)))
这表示我正在寻找一个月间隔缩放,文字是"新",它显示2个月。我已经看到setExtremes是我正在寻找的功能,但我还没有看到它是用R实现的。
答案 0 :(得分:1)
您可以在Highcharter
中的chart.events.load选项中放置JavaScript函数。使用Renderer,您可以添加一个按钮,在点击时使用setExtremes功能。
JSFiddle中的演示(没有Highcharter
也没有`R,数据不同,但按钮的功能是相同的):http://jsfiddle.net/e69eLm6q/
在R
中运行的代码:
library("quantmod")
usdjpy <- getSymbols("USD/JPY", src = "oanda", auto.assign = FALSE)
eurkpw <- getSymbols("EUR/KPW", src = "oanda", auto.assign = FALSE)
hc <- highchart(type = "stock") %>%
hc_title(text = "Charting some Symbols") %>%
hc_add_series(data = usdjpy, id = "usdjpy", pointInterval = 36000000) %>%
hc_add_series(data = eurkpw, id = "eurkpw", pointInterval = 36000000) %>%
hc_rangeSelector(buttons=list(list(type='month', text='New', count=2))) %>%
hc_chart(
events = list(
load = JS("function(){
var chart = this;
chart.renderer.button('do stuff',200, 100)
.attr({
zIndex: 3
})
.on('click', function () {
chart.xAxis[0].setExtremes(Date.UTC(1970, 4, 1), Date.UTC(1970, 6, 1));
})
.add();
}")
)
)
hc