Раскрась группу в сюжет скрипки ggplot - PullRequest
0 голосов
/ 13 февраля 2019

Я новичок в программировании на R.Застрял при построении сюжета скрипки ggplot.Я хочу дать цвет blue, green и red цвет моим 3 группам.Вот мой фрейм данных:

> 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 ]

0 голосов
/ 13 февраля 2019

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

0 голосов
/ 13 февраля 2019

Вам нужно определить переменную для заполнения.Функция стека добавит столбец ind в ваш входной файл data.frame, поэтому я добавил 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

...