作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 R Shiny 中有一个 plotly 。我希望能够单击多个点并将它们显示在表格中。该图运行良好,我可以获得 1 plotly_click(通过 event_data())显示在表格中。如何增长许多 event_data 点的向量。这是一些示例代码。我试图将事件保存在 d_save 中。谢谢。
library(shiny)
library(plotly)
data1 <- data.frame(cbind(seq(1,1000,1),seq(1,1000,1)*5))
colnames(data1) <- c('index','data')
data_points <- data.frame(cbind(seq(1,1000,5),seq(1,1000,5)*5))
colnames(data_points) <- c('index','data')
ui <- fluidPage(
plotlyOutput("plot1"),
tableOutput("dataTable")
)
d_save <- vector()
server <- function(input, output, session) {
# make plotly plot
output$plot1 <- renderPlotly({
p <- plot_ly(data1, x = data1$index, y = data1$data,mode = "lines")
add_trace(p, x = data_points$index, y = data_points$data, mode = "markers")
})
# show table of stances
output$dataTable <- renderTable({
d <- event_data("plotly_click")
d_save <- c(d_save,d$pointNumber[2]+1)
data.frame(d_save)
})
}
shinyApp(ui, server)
最佳答案
这并没有什么严重的问题,奇怪的是它从未得到答复。这不是纯 plotly(不使用 ggplot)的一个坏例子。
我通过以下方法修复了它:
d_save <- c(...)
分配给 d_save <<- c(...)
(在这里使用 reactiveValues
会更干净)。type=scatter
默认值)- 消除警告:No trace type specified: Based on info supplied, a 'scatter' trace seems appropriate.
d_save
中的“逐一”索引错误作业。layout(...)
给它一个标题(这对很多事情都很有用)。结果代码:
library(shiny)
library(plotly)
data1 <- data.frame(cbind(seq(1,1000,1),seq(1,1000,1)*5))
colnames(data1) <- c('index','data')
data_points <- data.frame(cbind(seq(1,1000,5),seq(1,1000,5)*5))
colnames(data_points) <- c('index','data')
ui <- fluidPage(
plotlyOutput("plot1"),
tableOutput("dataTable")
)
d_save <- vector()
server <- function(input, output, session) {
# make plotly plot
output$plot1 <- renderPlotly({
plot_ly(data1, x=data1$index, y=data1$data,mode = "lines") %>%
add_trace(x = data_points$index, y=data_points$data, mode = "markers") %>%
layout(title="Plotly_click Test")
})
# show table of point markers clicked on by number
output$dataTable <- renderTable({
d <- event_data("plotly_click")
d_save <<- c(d_save,d$pointNumber[1]+1)
data.frame(d_save)
})
}
shinyApp(ui, server)
图片:
关于r - 如何在 R Shiny 中显示来自 plotly_click 的许多点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38616790/
我是一名优秀的程序员,十分优秀!