要更新plotly图表而不使用R/Shiny中的plotlyProxy,请使用plotly包中的plotlyProxy()
函数。以下是一个示例代码:
library(plotly)
# 创建初始的plotly图表
p <- plot_ly(data = iris, x = ~Sepal.Length, y = ~Petal.Length, type = "scatter", mode = "markers")
# 更新图表数据
new_data <- list(x = ~Sepal.Width, y = ~Petal.Width)
proxy <- plotlyProxy("plotly-chart", session = shiny::getDefaultReactiveDomain())
proxy %>% plotlyProxyInvoke("restyle", new_data, 1)
# 显示图表
p
在这个示例中,我们首先创建了一个初始的plotly图表p
,然后使用plotlyProxy()
函数创建了一个 plotly proxy 对象proxy
。接下来,我们定义了要更新的新数据new_data
,然后使用plotlyProxyInvoke()
函数将新数据应用到图表中。最后,我们通过显示p
来查看更新后的图表。
请确保在运行这个示例之前已经安装并加载了plotly包。