2014-10-29 5 views
1

У меня есть сюжет, в котором я показываю отдельные значения из нескольких предметов, окрашенных группой. К этому добавляются средства на группу, рассчитанные с использованием stat_summary.ggplot2: несколько цветов в stat_summary

Я хотел бы, чтобы два средства были окрашены группой, но в цветах, отличных от отдельных данных. Это оказывается сложным, по крайней мере, при использовании stat_summary. У меня есть следующий код:

ggplot(data=dat, 
     aes(x=Round, y=DV, group=Subject, colour=T1)) + 
    geom_line() + geom_point() + theme_bw() + 
    stat_summary(fun.y=mean, geom="line", size=1.5, 
       linetype="dotted", color="black", 
       aes(group=T1)) 

Который производит этот example graph.

Цвет для средств, созданных stat_summary, установлен на черный; иначе он будет красным и синим, как отдельные линии передачи данных. Однако невозможно установить более одного цвета - поэтому цвет = c («черный», «синий») не работает.

Я уже пробовал scale_colour_manual, как описано here, но это изменит цвета отдельных линий передачи данных, оставив средние линии незатронутыми.

Любое предложение, как решить эту проблему? Код и данные here.

ответ

4

Вам нужно создать различные значения для отображения в цвете:

ggplot(data=iris, 
     aes(x=Sepal.Length, y=Sepal.Width, color=Species)) + 
    geom_line() + geom_point() + theme_bw() + 
    stat_summary(fun.y=mean, geom="line", size=1.5, 
       linetype="dotted", aes(color=paste("mean", Species))) 

resulting plot

Вы можете использовать scale_color_manual, чтобы получить определенные цвета.

+0

Спасибо! Это блестяще. Для записи (потому что это заняло у меня еще один момент, чтобы понять), группировка должна оставаться неповрежденной, поэтому aes is aes (color = paste («mean», Role), group = Role). – simoncolumbus

Смежные вопросы