如何更改 ggplot 图中某个因素的 1 个级别的美观和外观

发布于 2024-11-14 17:28:53 字数 307 浏览 1 评论 0原文

我在 x 轴上绘制一组离散水平的因子,并在 y 轴上绘制它们的相关平均结果值,如下所示:

ggplot(data, aes(item, outcome)) + 
    stat_summary(fun.y=mean, geom="point", colour="red",size=3)

我的最后一个“项目”是平均值,我想这样做视觉上弹出。

  1. 是否可以只为一个级别的因子项设置不同的形状或颜色?
  2. 是否有可能对一个因素的一个水平进行物理转移或创建障碍(就好像它是一个方面)?

I'm plotting a set of discrete levels of a factor on the x axis and their relevant mean outcome value on the y-axis, something like this:

ggplot(data, aes(item, outcome)) + 
    stat_summary(fun.y=mean, geom="point", colour="red",size=3)

the last 'item' I have is the mean, and I would like to make this pop out visually.

  1. Is it possible to have a different shape or color for just one level of the factor item?
  2. Is it possible to physically shift or create a barrier for one level of a factor (as if it were a facet)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

坦然微笑 2024-11-21 17:28:53

您可以通过向具有两个级别的数据框添加另一个因素来轻松地使最后一个级别具有不同的颜色(或形状):您想要的级别和其他所有级别。例如:

dat <- data.frame(item=rep(letters[1:3],times=3),outcome=runif(9))
dat$grp <- rep(c("grp1","grp1","grp2"),times=3)
ggplot(dat, aes(item, outcome))+
   stat_summary(fun.y=mean,aes(colour=grp), geom="point",size=3)

然后您在 aes 中设置颜色美感,而不是全局设置。一旦你有了这个附加变量,你也可以对其进行分面(编辑以反映@Ben Bolker的评论):

ggplot(dat, aes(item, outcome)) + 
    stat_summary(fun.y=mean, geom="point",size=3) + 
    facet_grid(.~grp,scale="free_x",space="free")

You can easily make the last level a different color (or shape) by adding another factor to your data frame that has two levels: the one you want, and everything else. For instance:

dat <- data.frame(item=rep(letters[1:3],times=3),outcome=runif(9))
dat$grp <- rep(c("grp1","grp1","grp2"),times=3)
ggplot(dat, aes(item, outcome))+
   stat_summary(fun.y=mean,aes(colour=grp), geom="point",size=3)

Then you set the colour aesthetic in aes rather than globally. Once you have this additional variable, you can also facet on it (edited to reflect @Ben Bolker's comment):

ggplot(dat, aes(item, outcome)) + 
    stat_summary(fun.y=mean, geom="point",size=3) + 
    facet_grid(.~grp,scale="free_x",space="free")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文