在ggplot标签中显示闪亮的输入变量的名称

时间:2018-07-20 15:31:21

标签: r ggplot2 shiny

我有一个shiny仪表板,允许用户选择将要绘制的y轴变量。在selectInput中,我使用choices选项命名变量,以便这些名称将显示在前端。

当我呼叫ylab(paste0("Y axis displays ",input$var))时,显示的文本是实际变量(即“ mpg”),而不是它的名称(“每加仑英里”)。我尝试使用names(input$var),但这必须返回NULL,因为input$var中没有显示任何文本。 ggtitle中发生相同的问题。

如何让他们显示给定名称?

可复制的示例:

library(shiny)
library(dplyr)
library(ggplot2)

ui <- fluidPage(

   titlePanel("Old Faithful Geyser Data"),

   sidebarLayout(
      sidebarPanel(
         selectInput(
           "var",
           "Variable Choice",
           choices = c("Miles per Gallon"="mpg","Horsepower"="hp"),
           selected = "mpg"
         )
      ),
      mainPanel(
         plotOutput("distPlot")
      )
   )
)

server <- function(input, output) {

   output$distPlot <- renderPlot({
      mtcars %>%
       ggplot(aes_string(x="wt",y=input$var))+
       geom_point()+
       ylab(paste0("Y axis displays ",input$var)) +
       ggtitle(paste0("This is a plot of ", input$var))
   })
}

shinyApp(ui = ui, server = server)

0 个答案:

没有答案