带有形状、填充和颜色的 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的主要内容,如果未能解决你的问题,请参考以下文章

ggplot中geom_point(scale_colour_manual)中的填充和边框颜色

ggplot2中的颜色和填充参数有什么区别?

达到边界颜色时,填充无法填充整个形状?

当使用洪水填充算法填充颜色后绘制线条时,填充颜色消失

如何绘制不同颜色的填充路径/形状

使用 FLTK 在形状中填充颜色的 C++ 不适用于圆形