R 选择Input可更改屏幕中的多个元素

R 选择Input可更改屏幕中的多个元素,r,shiny,R,Shiny,有没有办法让selectInput更改绘图的两个元素?例如,我创建了一个反应块来处理我想要在geom_point中为每个selectInput选项绘制的数据,它工作得非常好。但是,我也希望点的颜色发生变化,每种颜色的选择都是自动的,用户不需要自己选择一种。因此,对于一个输入$case points,我想要用geom_point“orangered2”写的东西。但如果他们选择另一个输入$case选项,我希望geom_point中的点数为“gold” 也许是一个if语句,但我不确定如果是这样的话,应

有没有办法让selectInput更改绘图的两个元素?例如,我创建了一个反应块来处理我想要在geom_point中为每个selectInput选项绘制的数据,它工作得非常好。但是,我也希望点的颜色发生变化,每种颜色的选择都是自动的,用户不需要自己选择一种。因此,对于一个输入$case points,我想要用geom_point“orangered2”写的东西。但如果他们选择另一个输入$case选项,我希望geom_point中的点数为“gold”

也许是一个if语句,但我不确定如果是这样的话,应该把它放在哪里

我发布了一段我的UI和服务器信息

选项卡中的UI代码段

tabPanel("Analysis",
                  sidebarLayout(
                      sidebarPanel(width = 4,
                             selectInput(inputId = "case", 
                                         label="Locations",
                                         choices = c("TRUE", "FALSE")))
服务器代码段

server <- function(input, output){
data_use <- reactive({
        real_final[real_final$case %in% input$case,]
    })
    output$bathy <- renderPlot({
        autoplot.bathy(shelf, geom=c("raster", "contour")) +
            scale_fill_gradientn(name = "meters above\nsea level", colours = c("plum2", "steelblue4","steelblue3", "steelblue2", "steelblue1"),
                                 breaks = c(-6000,0),
                                 limits = c(-6000,0),
                                 labels = c("-6000m","0m"), 
                                 na.value = "black") +
            geom_point(data = data_use(), aes(long, lat), color = "orangered2", pch = ".") +
            xlab("Longitude") +
            ylab("Latitude") +
            ggtitle("Seal Locations") +
            theme(axis.text.x=element_text(size=6),
                  axis.text.y=element_text(size=6),
                  axis.title=element_text(size=10,face="bold"))

server一个选项是返回带有无功导体的列表:

data_and_color <- reactive({
  list(
    data = real_final[real_final$case %in% input$case,],
    color = ifelse(input$case == "TRUE", "gold", "orangered2")
  )
})
x <- data_and_color()
ggplot(data = x$data, ......)
color = x$color