有没有一种简单的方法可以在 ggplot2 中单独调整文本标签?

Posted

技术标签:

【中文标题】有没有一种简单的方法可以在 ggplot2 中单独调整文本标签?【英文标题】:Is there an easy way to adjust text labels individually in ggplot2? 【发布时间】:2022-01-11 07:54:59 【问题描述】:

我正在尝试将样本大小标签添加到 ggplot 中的箱线图。我拥有我认为需要的一切,但我不确定如何微调标签的位置。我尝试了 position_nudge 和 position_jitter,但我希望能够单独调整每个标签,这样我就不必担心标签会跑到平均值栏中。

我的数据代码给了我这个

give.n <- function(x)
  return(c(y = mean(x), label = length(x)))


ggplot(ratings_county_2019_DI, aes(x=county, y=di))+
  geom_boxplot(aes(fill = county), fatten = 1.25)+
  scale_fill_manual(values = col19, aesthetics = c("colour", "fill"))+
  labs(x = "County", y = " DSI (%)")+
  theme_minimal()+
  theme(legend.position = "top")+
  stat_summary(fun.data = give.n, geom = "text")+
  ggtitle("Disease Serverity Index 2019 Survey")+
  theme(plot.title = element_text(hjust = 0.5))

【问题讨论】:

使用 R 代码进行数据构建的简单示例。那么可能有一种方法可以访问绘图对象中的数据。 【参考方案1】:

如果您提供position = position_nudge(y = VECTOR_OF_NUDGES),可能会提供您正在寻找的控制。

give.n <- function(x)
  return(c(y = mean(x), label = length(x)))


ggplot(mtcars, aes(x=as.character(gear), y=mpg))+
  geom_boxplot(aes(fill = cyl), fatten = 1.25) +
  stat_summary(fun.data = give.n, geom = "text",
               position = position_nudge(y = c(0, -2.5, -1)))

【讨论】:

以上是关于有没有一种简单的方法可以在 ggplot2 中单独调整文本标签?的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 ggplot2 中为色调、饱和度和亮度设置单独的比例吗?

用单独的线型在 ggplot2 中绘制缺失值

将文本标签添加到 ggplot2 散点图

ggplot2:将各个facet_wrap构面另存为单独的图对象

ggplot2使用单独的日期和可变数据帧按日期绘制时间序列r

GML:有没有一种简单的方法可以查看一行代码的输出?