关于 aes_string()、factor() 和 Rstudio 的 Shiny Package

On aes_string(), factor() and Rstudio's Shiny Package

当我运行以下代码时:

  graph <- ggplot(data = graphData, aes_string(x = input$variable1, y = input$variable1))
  graph <- graph + geom_point( aes_string(colour=input$groupVariable) )

我得到下图:

这是有问题的,因为它不是按不同的颜色分组,而是按蓝色阴影分组。

我想要这个:

我尝试使用 factor() 如下:

  graph <- ggplot(data = graphData, aes_string(x = input$variable1, y = input$variable2))
  graph <- graph + geom_point( aes_string(colour=factor(input$groupVariable) ) )

但这只是给了我这个:

我应该怎么做才能得到中间图像中的图形?

Note input 是 Rstudio 的 Shiny 包在其 ui.R 和 server.R 脚本之间进行通信的通道.

您可以试试下面的代码:

output$plot1 <- renderPlot({

graphData[,input$groupVariable] <- factor(graphData[,input$groupVariable])

ggplot(graphData, aes_string(x=input$variable1, y=input$variable2, color=input$groupVariable)) + geom_point()
})