【发布时间】:2019-10-18 20:00:36
【问题描述】:
我正在尝试使用addTraces 方法将垂直线添加到现有的绘图中。我想了解为什么新的垂直线会在第一条迹线所在的右侧添加两个单位。
修复此问题可能会解决我原来的问题(问题标题),即在添加新跟踪时避免绘图调整大小/向右移动。
这是我正在尝试做的一个示例:
library(shiny)
library(plotly)
ui <- bootstrapPage(
plotlyOutput("plot")
)
myvec <- rnorm(100)
server <- function(input, output, session) {
values <- reactiveValues(idx=1)
output$plot <- renderPlotly({
plot_ly(type='scatter', mode='lines') %>%
add_trace(y=myvec[1])
})
plotproxy <- plotlyProxy("plot", session)
observe({
plotproxy %>%
plotlyProxyInvoke("extendTraces",
list(y=list(list(myvec[values$idx]))),
list(1))
if(!values$idx%%10) {
plotproxy %>% plotlyProxyInvoke("addTraces",
list(x=c(values$idx, values$idx), # + 2 would "fix it"
y=c(0,myvec[values$idx]),
type="line", showlegend=F))
}
})
observe({
invalidateLater(1000)
isolate({
values$idx <- min(values$idx + 1, length(myvec))
})
})
}
shinyApp(ui = ui, server = server)
简而言之,我希望 x 轴限制仅更新为 extendTraces,我只是猜测 2 个单位不匹配是问题所在。
【问题讨论】: