r - Using colors in aes() function in ggplot2 -
i new ggplot2. trying understand how use ggplot. reading wickham's book , still trying wrap head around how use aes() function. in related thread, discussed should try avoid using variables inside aes() i.e. "don't put constants inside aes() - put mappings actual data columns."
my objective observe behavior of ggplots when have color inside aes() labeling (as described in wickham's book) , override color print color.
i started this:
library(ggplot2) data(mpg) ggplot(mpg, aes(displ, hwy)) + geom_point() + geom_smooth(aes(colour = "loess"), method = "loess", se = false) + geom_smooth(aes(colour = "lm"), method = "lm", se = false) + labs(colour = "method") this nicely plots graphs , labels them. however, unhappy colors used. so, experimented using overriding colors again:
windows() ggplot(mpg, aes(displ, hwy)) + geom_point() + geom_smooth(aes(colour = "loess"), method = "loess", se = false, color = "magenta") + geom_smooth(aes(colour = "lm"), method = "lm", se = false, color = "red") + labs(colour ="method") i added color = "red" , can see labs() or aes(color()) doesn't have effect. why happen? i'm curious. i'd appreciate thoughts.
when specify, colour outside aes() gg_plot not consider color information being part of data (and overwrites previous information) , there no legend display anymore.
if want specify own colors , keep colour information "relevant data" , not "display information", should add scale_colour_manual() command specify legend colours , leave colour attribute in aes:
ggplot(mpg, aes(displ, hwy)) + geom_point() + geom_smooth(aes(colour = "loess"), method = "loess", se = false) + geom_smooth(aes(colour = "lm"), method = "lm", se = false) + labs(colour ="method") + scale_colour_manual(values = c("loess" = "magenta", "lm" = "red")) 
Comments
Post a Comment