如何更改ggplot2的“主题”参数中的图例标签?

凯西

我正在使用ggplot2 ro绘制错误条形图。对于传说,我希望它像这样:

  1. 在情节里面。我知道函数theme(legend.position)可以做到这一点。

  2. 在带有功能表达式的图例标签中使用乳胶符号。

我已阅读了一些有关构建图例的参考资料,但仍未找到我想要的确切内容。我可以执行1或2,但不能同时执行两项操作。

以下是该问题情节的R代码。由于我的声誉还不足以发布图片,请将代码复制到R中以查看绘图。我只想保留标签包含\ beta_A和\ beta_B,但不保留标签包含组1和组2。

有任何想法吗?谢谢!

library(ggplot2); library(scales) #for alpha
varx <- rep(c("group1", "group2"), each = 3)
vary <- rep(c("A", "B", "C"), 2)
poi <- sample(20:30, 6)
upper <- sample(40:50, 6)
lower <- sample(1:10, 6)

dat <- data.frame(varx, vary, poi, upper, lower)
dat
  #      varx vary poi upper lower
  # 1 group1    A  29    42    10
  # 2 group1    B  21    48     9
  # 3 group1    C  26    47     8
  # 4 group2    A  30    44     4
  # 5 group2    B  27    49     6
  # 6 group2    C  24    43     7

pp <- ggplot(dat, aes(colour = varx, y = poi, x = vary)) 

limits <- aes(ymax = upper, ymin = lower)

pp  + geom_point(aes(shape=varx), position = position_dodge(0.3), size = 2) + 
  ## dodge make the lines not stack upon each other
  geom_errorbar(limits, size = 1, width = 0.15, position = position_dodge(0.3)) + 
  theme_bw() + ## Get rid of the grey background
  geom_hline(yintercept = 0, linetype = "dotdash") +
  coord_cartesian(ylim = c(1, 60)) + 
  scale_shape_manual(values = c(17, 19, 18)) + 
  scale_colour_hue(labels =  c(expression(beta[A]), expression(beta[N]))) + 
  theme(plot.margin = unit(rep(1.5, 4),"mm"),
        legend.justification= c(1, 0), 
        legend.position = c(1, 0.5),
        legend.key = element_blank(),## Get rid of the legend box 
        legend.title = element_blank(),
        legend.text = element_text(size = 10, face = "bold"),
        legend.background = element_rect(fill=alpha(0.0001))) +
  labs(x = NULL, y = NULL)
罗夏

要删除图例,您只需将其添加guides(shape=FALSE)到绘图中即可。在其中,guides您可以决定哪些美学应该显示图例。要合并图例,请使标签相同,然后ggplot再进行其余操作。

## Use this label for both aesthetic legends
labels =  c(expression(beta[A]), expression(beta[N]))

pp  + geom_point(aes(shape=varx), position = position_dodge(0.3), size = 2) + 
  ## dodge make the lines not stack upon each other
  geom_errorbar(limits, size = 1, width = 0.15, position = position_dodge(0.3)) + 
  theme_bw() + ## Get rid of the grey background
  geom_hline(yintercept = 0, linetype = "dotdash") +
  coord_cartesian(ylim = c(1, 60)) + 
  scale_shape_manual(values = c(17, 19, 18), labels=labels) +
  scale_colour_hue(labels = labels) + 
  theme(plot.margin = unit(rep(1.5, 4),"mm"),
        legend.justification= c(1, 0), 
        legend.position = c(1, 0.5),
        legend.key = element_blank(),## Get rid of the legend box 
        legend.title = element_blank(),
        legend.text = element_text(size = 10, face = "bold"),
        legend.background = element_rect(fill=alpha(0.0001))) +
  labs(x = NULL, y = NULL) # + guides(shape=FALSE) # if wanting to remove

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何增加ggplot2图例中的点数?

来自分类Dev

如何使ggplot2中的图例与图的高度相同?

来自分类Dev

如何在ggplot2中重新排列图例?

来自分类Dev

如何调整ggplot2中默认图例中标签的顺序,使其与数据中的顺序相对应

来自分类Dev

如何在ggplot2中将多个标签格式化为单个图例

来自分类Dev

ggplot2中的图例

来自分类Dev

在ggplot2中的图例键中更改符号

来自分类Dev

如何在ggplot2中为带有图例的垂直线添加标签

来自分类Dev

使用ggplot2更改图例

来自分类Dev

ggplot2:更改图例中的因子顺序

来自分类Dev

如何从ggplot2对象提取图例标签?

来自分类Dev

无法更改ggplot2中的图例

来自分类Dev

如何更改ggplot2中图例文本的大小?

来自分类Dev

更改图例在ggplot2中的位置

来自分类Dev

如何更改ggplot2中的图例几何

来自分类Dev

如何在ggplot2中的自定义图例中更改线的角度

来自分类Dev

如何为ggplot2主题添加额外的参数?

来自分类Dev

如何将图例向上移动到ggplot2中的x轴标签

来自分类Dev

在ggplot2中创建后更改比例图例标签

来自分类Dev

在ggplot2中的图例中更改键标签

来自分类Dev

将行更改为ggplot2的图例中的虚线

来自分类Dev

ggplot2中的动态图例标签

来自分类Dev

ggplot2:更改图例符号

来自分类Dev

如何更改ggplot中的标签(图例)?

来自分类Dev

如何在ggplot2中将多个标签格式化为单个图例

来自分类Dev

使用ggplot2更改图例

来自分类Dev

更改ggplot2的图例中的标签

来自分类Dev

从ggplot2中的图例中删除标签

来自分类Dev

如何在ggplot2中合并图例?(保持形状、颜色和标签)