gpt4 book ai didi

r - 在不增加图例键的情况下增加图例键之间的空间

转载 作者:行者123 更新时间:2023-12-04 12:15:10 26 4
gpt4 key购买 nike

这是对 https://stackoverflow.com/questions/32275113 的跟进

问题是调整图例元素以增加图例键之间的空间,而不同时扩展图例键本身。解决方案可能是调整正确的图例主题选项。

期望的结果:图例关键文本标签之间的垂直空间更大,但没有拉伸(stretch)图例关键行。

d <- data.frame(x = mtcars$mpg, y = 0.10)
vlines <- rbind(aggregate(d[1], d[2], mean),
aggregate(d[1], d[2], median))
vlines$stat <- rep(c("mean", "median"), each = nrow(vlines)/2)
library("ggplot2")
ggplot(data = d, aes(x = x, y = ..density..)) +
geom_histogram(fill = "lightblue", color = "black") +
geom_vline(data = vlines, mapping = aes(xintercept = x, colour = stat),
show.legend = TRUE) +
theme(legend.direction = "vertical",
legend.position = "right",
# legend.key = element_rect(size = 2),
legend.key.size = unit(3, "cm"),
# legend.key.width = unit(2, "cm"),
# legend.key.height = unit(1, "cm")
)

增加 legend.key.size ,正如链接问题的答案中所建议的(见上文),也具有增加垂直线的不良副作用。

enter image description here

编辑 基于 PoGibas 的巧妙解决方法,这里是所需结果的屏幕截图,包括在此处以确保目的明确:

enter image description here

在 PoGibas 之后,我使用了: shape = 73 , legend.key.height = unit(2, "cm")size = 6在颜色指南里面。

最佳答案

一种解决方案是用点替换线(需要额外的几何层):

创建带有不可见点的绘图(size = 0 和矩形 shape = 15)。

p <- ggplot(d, aes(x, ..density..)) + 
geom_histogram(fill = "lightblue", color = "black") +
geom_vline(data = vlines, mapping = aes(xintercept = x, colour = stat)) +
geom_point(data = vlines, aes(0, 0, colour = stat), size = 0, shape = 15)

将图例主题添加到:
  • 图例中的蒙版背景颜色 ( legend.key = element_rect(fill = "white") )
  • 创建大图例 (legend.key.height = unit(3, "cm"))
  • 删除线(linetype = 0)并制作大点(size = 5)

  • 代码:
    p + 
    theme(legend.direction = "vertical",
    legend.position = "right",
    legend.key = element_rect(fill = "white"),
    legend.key.height = unit(3, "cm")) +
    guides(color = guide_legend(override.aes = list(linetype = 0, size = 5)))

    enter image description here

    PS:
  • 这不是一个完美的解决方案,因为图例标签和框之间存在差距。
  • 如果你想要线条而不是矩形,请使用 shape = 73
  • 关于r - 在不增加图例键的情况下增加图例键之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49668265/

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