gpt4 book ai didi

r - 如何在 ggplot 图的图例中添加额外的符号?

转载 作者:行者123 更新时间:2023-12-03 16:20:42 24 4
gpt4 key购买 nike

我想在 ggplot 图的图例中添加一个符号。 ggplot 的符号代码如下所示,我的问题是,如何绘制图片中圈出的 (*) 符号?

  library(ggplot2 )
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
p <- ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +
geom_boxplot()
p
enter image description here

最佳答案

这需要一些手动调整才能正确定位,但您可以使用 annotate 在绘图外添加一个符号作为注释。和 coord_cartesianclip = off .来自 this 的一些提示回答。

ToothGrowth$dose <- as.factor(ToothGrowth$dose)

p <- ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +
geom_boxplot() +
annotate("point", x = 3.66, y = 18.5, shape = 8, size = 2) +
coord_cartesian(xlim = c(1, 3), clip = "off")

ggsave('test.jpg', p)
enter image description here

编辑:如果有重叠,上面答案中的形状将被图例隐藏。使用 tag是一个类似的解决方案,但允许将符号绘制在图例的顶部。它仍然需要一些手动调整,但坐标是图而不是数据的位置(这似乎是一个好处)。
ToothGrowth$dose <- as.factor(ToothGrowth$dose)

p <- ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +
geom_boxplot() +
labs(tag = '*') +
theme(plot.tag.position = c(.94, 0.5),
plot.tag = element_text(size = 30))

ggsave('test.jpg', p)
enter image description here

关于r - 如何在 ggplot 图的图例中添加额外的符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63346982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com