我有一个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)