Как придать цвет определенным точкам в сюжете скрипки в R

Я создал график скрипки в R и хочу изменить цвет и размер части точек. Это изменение будет соответствовать атрибуту True/False в файле данных.

Вот как я это пробовал:

p <- ggplot(data, aes(order,count),levels=data_levels) +
geom_point(aes(colour = actor(data$color)))+ 
geom_violin(draw_quantiles = c(0.5),adjust = 2,size =0.4)+ 
geom_jitter(height = 0, width = 0.1,size =0.6)+ 
coord_flip()

boolColors <- as.character(c("False"="black", "True"="red")) 
boolScale <- scale_colour_manual(name="color", values=boolColors)
p1 <- p + boolScale 

Я попытался изменить размер с помощью scale_size_manual, но это не сработало.


person Netta Shemesh    schedule 11.03.2018    source источник
comment
Вы не предоставили ни выдержку своих данных, ни то, что делает ваша функцияactor(), поэтому мы не можем запустить эту выдержку кода. Даже при этом выделяется одна ошибка - в эстетике для первой точки geom_point вы ставите colour = actor(data$color). Обратитесь к столбцу color напрямую, поэтому удалите часть данных $ - colour = actor(color)   -  person Stewart Ross    schedule 11.03.2018
comment
@StewartRoss, это не столько ошибка, сколько избыточность. Попробуйте ggplot(mtcars, aes(mpg,disp)) + geom_point(aes(color=mtcars$cyl))   -  person r2evans    schedule 11.03.2018


Ответы (1)


Без данных нужно было точно знать, что не так. А вот пример установки пользовательской цветовой шкалы для точек над сюжетом скрипки.

ggplot(mtcars, aes(factor(cyl), mpg)) +
  geom_violin() + 
  geom_jitter(height = 0, width = 0.1, aes(colour = factor(gear))) +
  scale_colour_manual(name="colour", values=c("pink", "purple", "orange"))

введите здесь описание изображения

person Michael Harper    schedule 11.03.2018