我希望在一个点图中传达三种类型的信息。我可以使用颜色、形状和填充(我的实际数据有太多的点,无法有效使用大小)。但如果填充颜色与轮廓颜色相同,它会看起来最好。
我能得到的最接近的效果是这样的:
data(mtcars)
p <- ggplot(mtcars,aes(x=mpg,y=wt))+
geom_point(aes(color=factor(cyl),shape=factor(gear),fill=factor(vs)))+
scale_fill_manual(values=c("black",NA))+scale_shape_manual(values=c(21,22,23))
如何填充红点为红色,蓝点为蓝色?当前代码会将所有轮廓颜色都填充成黑色,很难看。有什么好的想法吗?
vs
值添加一个说明图例,指示哪些是填充的,哪些是空的并不容易,是吗?现在,填充和空的之间的区别还不清楚。 - MrFlickvs==1
点的填充值设置为NA
。这会导致一种深灰色,但如果我们手动指定NA
颜色应该是NA
而不是默认值,那么“颜色”就变成了透明的(这就是NA
的解释方式)。 - BrodieGshape = 21
也是必要的,因为shape = 19
不支持fill
选项。 - ya wei