我正在尝试制作一个交互式图表,在一个闪亮的应用程序上绘制金融股票数据。我的尝试是不断更新数据,从而更新图表。我使用一个名为 Highcharter 的包来管理这个。下面显示了服务器部分的部分代码(getDataIntraday() 接收两个输入并返回更新的 xts)。
getID <- reactive({
invalidateLater(60000)
y <- getDataIntraDay(input$text, input$radio)
return(y)
})
output$plot1 <- renderHighchart({
y <- getID()
highchart() %>%
hc_credits(enabled = TRUE,
hc_exporting(enabled = TRUE)%>%
hc_add_series_ohlc(y) %>%
hc_add_theme(hc_theme_538(colors = c("red", "blue", "green"),
chart = list(backgroundColor = "white")))
})
Run Code Online (Sandbox Code Playgroud)
这是可行的:图表和数据每 60 秒自动更新一次。问题如下:
当数据和图表更新时,不保持用户设定的缩放比例。
图表需要太多秒才能更新自身,因为它计算了所有结构,而不是仅添加最后一个蜡烛。
是否有一些方法(某些包)允许更新图表而无需再次计算整个函数?或者,至少有没有办法修复图表中除蜡烛之外的所有元素?