R.shiny中的条形图显示

时间:2019-10-01 09:39:24

标签: r shiny shinydashboard shinyapps

我已经开发了一个代码,可以根据反应按钮显示条形数据,如果我将光标移动到旁边的显示条上,我怎么想知道确切的数字

代码

library("shiny")
data = data.matrix(MY_data[1:4])
ui=fluidPage(    

  # Give the page a title
  titlePanel("Age ranges according to program"),

  # Generate a row with a sidebar
  sidebarLayout(      

    # Define the sidebar with one input
    sidebarPanel(
      actionButton(inputId = "MBA", label = "MBA"),
      actionButton(inputId = "MSLOD", label = "MSLOD"),
      actionButton(inputId = "MSQBE", label = "MSQBE")



    ),

    # Create a spot for the barplot
    mainPanel(
      plotOutput("hist")  
    )

  )
)




server <- function(input, output) {

  rv <- reactiveValues(data = data[1,1:4])

  observeEvent(input$MBA, { rv$data <- data[1,1:4] })
  observeEvent(input$MSLOD, { rv$data <- data[2,1:4] })
  observeEvent(input$MSQBE, { rv$data <- data[3,1:4] })

  output$hist <- renderPlot({ 

    barplot(rv$data, 
            main=input$radio,
            ylab="Number employees",
            xlab="Ages Range",col=rainbow(4))
  })
}

shinyApp(ui = ui, server = server)

我的数据看起来像

a   b   c  d
5   133 258 106
4   59  60  28
1   34  64  28

作为矩阵

1 个答案:

答案 0 :(得分:0)

在我们的项目中,我们发现该功能已经在Plotly中实现:

https://plot.ly/r/shiny-tutorial/

我已经有一段时间没用过了,但是我相信对于您的应用程序,您可以在用户界面中将plotOutput更改为plotlyOutput,并且服务器端也有renderPlotly功能

Plotly与标准R绘图略有不同,但是它开箱即用地支持更好的交互性,因此如果您打算制作交互式绘图,我会推荐它。