【发布时间】:2017-04-09 02:37:03
【问题描述】:
我正在使用 highcharter 包在 R-Shiny 项目上绘制财务时间序列,我希望允许用户在图表上添加指标(例如移动平均线)。为了做到这一点,我在if 语句服务器端设置了hc_add_series_xts()。它工作正常,但每次有人添加指标时,图表都会完全重新加载,而我更喜欢动态更新。有什么办法吗?
为了更好地解释我的情况,它遵循一个单页闪亮的例子:
library(shiny)
library(quantmod)
library(highcharter)
library(TTR)
ui <- fluidPage(
mainPanel(
highchartOutput("hc"),
checkboxInput("indicator","Add Moving Average")
)
)
server <- function(input, output) {
output$hc <- renderHighchart({
y <- getSymbols("MSFT", auto.assign=FALSE)
hc <- highchart() %>%
hc_exporting(enabled = TRUE)%>%
hc_add_series_ohlc(y) %>%
hc_add_theme(hc_theme_538(colors = c("red", "blue", "green"),
chart = list(backgroundColor = "white") ))
if(input$indicator){hc <- hc %>% hc_add_series_xts(name = "Moving Average", EMA(Cl(y)))}
return(hc)
})
}
shinyApp(ui = ui, server = server)
PS:我故意将所有历史价格都称为可用,以使“完全重新加载”事件变得可感知。
【问题讨论】:
标签: r highcharts shiny