问题描述
使用命令scale_color_manual
,您可以手动更改绘图的颜色。
dataPlot <- ggplot(df,aes(x=x,y=y)+
geom_point(aes(shape=z))+
scale_color_manual(values=c("#636363","#de2d26","#636363","#636363"))
有没有一种方法可以手动更改每个构面使用的颜色?因此,例如,如果我的多面变量为variable
,那么如何设置scale_color_manual
以便为每个小面的每组x
设置颜色?
dataPlot <- ggplot(df,y=y)+
geom_point(aes(shape=z))+
facet_grid(~variable)+
scale_color_manual(values=c("#636363","#636363"))
谢谢!
解决方法
如果您要为每个构面使用不同的单色,则可以有效地在构面和着色之间进行重复:为构面color=
使用相同的变量。
library(ggplot2)
ggplot(mtcars,aes(mpg,disp)) +
geom_point(aes(shape = factor(gear),color = factor(cyl))) +
facet_grid(~ cyl) +
scale_color_manual(values = c("red","green4","blue"))
如果您要为每个方面要求不同的颜色比例,那就是不同的故事了,我相信基本ggplot2
不可能实现。有三个相关的扩展,目前尚未测试,但它们都声称支持此扩展。没有特别的顺序: