R在ggplot中显示用户输入的颜色以及静态变量

时间:2018-09-17 18:51:32

标签: r ggplot2 shiny

我刚开始使用R Shiny,并且试图了解如何使用用户指定的颜色生成ggplot图,但使用相同的输入数据帧以静态大小生成该图。用下面的diamonds数据重新表示-散点图显示出所有一种颜色,我希望其中的颜色可以由输入变量的级别进行着色。我已经基于“克拉”创建了一个大小为bin的虚拟变量。基本上,颜色是静态的(一种颜色),在Shiny应用程序中没有反应性-我敢肯定,我不会在Shiny中遵循一些非常简单的方法,任何指针都将受到赞赏。

library(shiny)
library(ggplot2)

diamonds$carat_bins <- cut(diamonds$carat,4)

# Define UI for application that draws a histogram
ui <- fluidPage(
titlePanel("Diamonds Data"),


sidebarLayout(
  sidebarPanel(
    selectInput(inputId = "col",
                label = "Color Variable:",
                choices = c("color","clarity"),
                selected = "color")
  ),


  # Show map
  mainPanel(
    plotOutput(outputId = "scatterplot")
  )
 )
)

server <- function(input, output) {

output$scatterplot <- renderPlot({
  ggplot() + 
    geom_point(data=diamonds, aes(x, y, size = carat_bins, col=input$col))
 })
}

shinyApp(ui = ui, server = server)

0 个答案:

没有答案