代码之家  ›  专栏  ›  技术社区  ›  Om Sao

在ggplot中为组着色

  •  0
  • Om Sao  · 技术社区  · 6 年前

    我对R编程是新手。 我想给你颜色 blue , green red

    > print(employee_withoutEmployeeID[1:5,])
    > 
      EnvironmentSatisfaction JobSatisfaction WorkLifeBalance
    1                       3               4               2
    2                       3               2               4
    3                       2               2               1
    4                       4               4               3
    5                       4               1               3
    

    我尝试的是:

    png(file="answer5.png")
    answer5 <- ggplot(stack(employee_withoutEmployeeID), aes(x = ind, y= values) )
    answer5 + geom_violin()  + scale_fill_manual(values=c("#0000FF", "#00FF00", "#FF0000")) + 
      labs(title="Answer 5", 
           subtitle="",
           caption="Answer 5",
           x="Measure",
           y="Rating")  
    dev.off()
    

    我得到我的小提琴绘图正确,但没有颜色填充。我不知道怎么用,在哪里用 scale_fill_manual 请建议

    2 回复  |  直到 6 年前
        1
  •  2
  •   Dave2e    6 年前

    您需要定义要填充的变量。堆栈函数将添加 ind 列到您的输入上数据框,因此我添加了 fill=ind 进入aes选项。

    answer5 <- ggplot(stack(employee_withoutEmployeeID), aes(x = ind, y= values, fill=ind) )
    answer5 + geom_violin()  + scale_fill_manual(values=c("#0000FF", "#00FF00", "#FF0000")) + 
       labs(title="Answer 5", 
            subtitle="",
            caption="Answer 5",
            x="Measure",
            y="Rating")  
    

    enter image description here

        2
  •  2
  •   Marco Sandri    6 年前

    这个 fill geom_violin :

    library(ggplot2)
    ggplot(iris, aes(x= Species, y = Sepal.Width) ) +
           geom_violin(aes(fill= Species))  + 
           scale_color_manual(values=c("#0000FF", "#00FF00", "#FF0000")) + 
           labs(title="Answer 5", subtitle="",  caption="Answer 5",
             x="Measure", y="Rating")  
    

    enter image description here

    推荐文章