plotlyProxyInvoke
是一个用于在 Shiny 应用程序中与 Plotly 图表进行交互的函数。它允许你在不刷新整个页面的情况下更新图表。垂直线(Vertical Lines)通常用于在图表中标记特定的时间点或事件。
plotlyProxyInvoke
,可以在不刷新整个页面的情况下更新图表,提供更好的用户体验。以下是一个使用 plotlyProxyInvoke
在 Shiny 应用程序中向 Plotly 图表添加垂直线的示例:
library(shiny)
library(plotly)
ui <- fluidPage(
plotlyOutput("plot"),
actionButton("addLine", "Add Vertical Line")
)
server <- function(input, output, session) {
output$plot <- renderPlotly({
plot_ly(data = iris, x = ~Sepal.Length, y = ~Sepal.Width, color = ~Species) %>%
layout(title = "Iris Dataset")
})
observeEvent(input$addLine, {
x <- runif(1, min(iris$Sepal.Length), max(iris$Sepal.Length))
plotlyProxyInvoke("plot", "add_trace", list(
type = "scatter",
mode = "lines",
x = list(x, x),
y = list(min(iris$Sepal.Width), max(iris$Sepal.Width)),
line = list(color = "red", width = 2)
))
})
}
shinyApp(ui, server)
add_trace
函数的参数设置不正确。add_trace
函数的参数,确保 x
和 y
的值在图表的范围内。通过以上方法,你可以在不调整绘图大小的情况下,使用 plotlyProxyInvoke
向 Plotly 图表添加垂直线,并解决常见的相关问题。
领取专属 10元无门槛券
手把手带您无忧上云