带有形状、填充和颜色的 geom_point
Posted
技术标签:
【中文标题】带有形状、填充和颜色的 geom_point【英文标题】:geom_point with shape, fill and color 【发布时间】:2022-01-02 21:00:16 【问题描述】:我创建了一个 ggplot 点,显示 x_axis 的每个级别中变量“y 轴”的均值和 sd,根据 cat.1 具有不同的形状,根据 cat.2 具有不同的颜色。根据“时间”有3个面板
数据框“示例”可以从这里下载:
https://drive.google.com/file/d/1fJWp6qoSYgegivA5PgNsQkVFkVlT4qcC/view?usp=sharing
plot1<-ggplot(example,aes(x=x_axis,y=mean , shape = cat.1)) + theme_bw() +
facet_wrap(~time,dir = "h")+
geom_point(aes(color=cat.2), position = position_jitter(0), size=4)+
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())+
geom_errorbar(aes(x_axis, ymin=mean-sd, ymax=mean+sd),
position = position_jitter(0), width=0.1)
剧情是这样的:
plot1
因为我更喜欢点有黑色边框,所以我添加了 color="black",并将之前的 "color= cat.2" 替换为 "fill=cat.2"。我意识到正确的方法是使用“填充”而不是“颜色”,但是填充功能似乎不起作用!所有的点都是黑色的:
plot2<-ggplot(example,aes(x=x_axis,y=mean , shape = cat.1)) + theme_bw() +
facet_wrap(~time,dir = "h")+
geom_point(aes(fill=cat.2), position = position_jitter(0), size=4, color="black")+
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())+
geom_errorbar(aes(x_axis, ymin=mean-sd, ymax=mean+sd),
position = position_jitter(0), width=0.1)
plot2
我尝试将“shape=21”添加到 geom_point 图层,它给出了根据 cat.2 填充的点并带有黑色边框,但该图未显示根据 cat.1 的形状。
如何根据两个因素创建具有形状和填充的散点图,并为点添加黑色边框?
【问题讨论】:
用scale_shape_manual
指定你想要的形状
谢谢,@erc。成功了!
【参考方案1】:
现在使用@erc 指示的scale_shape_manual
,它起作用了:
plot3<-ggplot(example,aes(x=x_axis,y=mean , shape = cat.1)) + theme_bw() +
facet_wrap(~time,dir = "h")+
geom_jitter(aes(fill=cat.2), position = position_jitter(0), size=4, color="black")+
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())+
geom_errorbar(aes(x_axis, ymin=mean-sd, ymax=mean+sd),
position = position_jitter(0), width=0.1) +
scale_shape_manual( values =c("x"=24,"y"=21))
【讨论】:
以上是关于带有形状、填充和颜色的 geom_point的主要内容,如果未能解决你的问题,请参考以下文章