首页 > 解决方案 > 如何将图例定位在左下角并将标题移动到右侧或顶部?

问题描述

我一直试图找到这个问题的答案,但我在任何地方都找不到。我创建了一个 ggplot 图,并希望在图下显示一个编辑:水平图例。图例应位于左下角,标题应位于其右侧或上方。我设法旋转了图例,但我无法让标题移动到我想要的位置。有人可以帮忙吗?

My_Theme = theme(
legend.text = element_text(size=12),
legend.title.align =0,
legend.position = "bottom", 
legend.box = "horizontal", 
legend.title = element_text(size=14, vjust=0.5, hjust = 0.3))

这让我明白了: 这个看起来很奇怪的传奇展示位置

我希望图例向左移动,但其标题在右侧或上方。目前,标题与传说模糊不清,难以阅读。

有人可以帮忙吗?非常感谢,愉快的假期:)

标签: rggplot2

解决方案


使用mtcars示例数据,可以这样实现:

  1. 可以通过guide_colorbar和 参数设置标题的位置title.position

  2. theme可以使用选项legend.position = "bottom"和将图例定位在左下角legend.justification = "left"

  3. 对于图例的方向,我不确定您想要的结果。正如你所说,你想要一个我使用的垂直图例legend.direction="vertical"

library(ggplot2)

ggplot(mtcars, aes(hp, mpg, color = mpg)) +
  geom_point() +
  labs(color = "I'm a long\nlegend title") +
  guides(color = guide_colorbar(title.position = "top")) +
  theme(
    legend.text = element_text(size=12),
    legend.title.align = 0,
    legend.position = "bottom", 
    legend.justification = "left",
    legend.direction = "vertical",
    legend.title = element_text(size=14, vjust = .5, hjust = .3))


推荐阅读