Дисплей барплотов в р. Шинах - PullRequest
0 голосов
/ 01 октября 2019

Я разработал код для отображения данных гистограммы в соответствии с кнопками реакции. Как бы мне ни хотелось узнать точное число, если я наведу курсор на строку отображения рядом с ним

код

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 голосов
/ 01 октября 2019

В нашем проекте мы обнаружили, что эта функция уже реализована в сюжете:

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

Я некоторое время не использовал плотно, но я думаю, что для вашего приложения вы бы изменилиplotOutput до plotlyOutput в вашем пользовательском интерфейсе, и аналогично есть функция renderPlotly на стороне сервера.

Plotly немного отличается от стандартных графиков R, но поддерживает гораздо лучшую интерактивность из коробки,поэтому я бы порекомендовал его, если вы планируете создавать интерактивные сюжеты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...