显示行名称的闪亮交互式图表

时间:2017-09-25 14:29:46

标签: r shiny interactive

我使用Shiny和ggplot2作为交互式图表。我还使用" plot1_click"得到x和y位置。

output$selected <- renderText({
paste0("Value=", input$plot1_click$x, "\n",
       "Names=", input$plot1_click$y)  }) #how to get names???

这是服务器代码的一部分。这就是我想要的,而不是打印&#34; y&#34;坐标,我想打印用y轴写的相应名称。它有什么可能吗?

1 个答案:

答案 0 :(得分:0)

据我所知plotOutput不支持点击点。点击事件只会返回点击位置的坐标。然而,这些坐标可用于计算出最近的点。

来自闪亮的图库页面的

This shiny app使用函数shiny::nearPoints,它正是这样做的。这是一个最小的例子。

library(shiny)
library(ggplot2)

shinyApp(
  fluidPage(
    plotOutput("plot", click = "plot_click"),
    verbatimTextOutput('print')
  ),
  server = function(input, output, session){
    output$plot <- renderPlot({ggplot(mtcars, aes(wt, mpg)) + geom_point()})
    output$print = renderPrint({
      nearPoints(
        mtcars,             # the plotting data
        input$plot_click,   # input variable to get the x/y coordinates from
        maxpoints = 1,      # only show the single nearest point 
        threshold = 1000    # basically a search radius. set this big enough 
                            # to show at least one point per click
      )
    })
  }
)

verbatimTextOutput显示距离点击位置最近的点。请注意,nearPoints仅适用于ggplots。但是帮助页面表明还有一种方法可以将它用于基本图形。