首页 > 解决方案 > 使用 R ggplot2 为图例键标签着色并删除键

问题描述

怎么能用 R 为图例键标签着色ggplot2并隐藏键本身?

library(ggplot2)

ggplot(mtcars, aes(wt, mpg, colour = factor(cyl))) + 
geom_point()

在某种程度上,图例只包含文本标签468分别以红色、绿色和蓝色着色。

标签: rggplot2

解决方案


无法直接使用 来执行此操作theme,因为element_text不会采用矢量化输入。通过关闭剪辑并在图例应该是的位置绘制一些文本,可能最容易伪造它:

library(ggplot2)

ggplot(mtcars, aes(wt, mpg, colour = factor(cyl))) + 
geom_point() +
  geom_text(data = data.frame(wt = c(6, 6, 6, 6), mpg = c(20, 22.5, 25, 27.5),
                              cyl = c(levels(factor(mtcars$cyl)), "cyl"),
                              colour = c(levels(factor(mtcars$cyl)), "cyl")),
            aes(label = colour)) +
  coord_cartesian(xlim = c(1.5, 5.5), clip = "off") +
  scale_color_manual(values = c("blue", "green", "red", "black")) +
  theme(legend.position = "none",
        plot.margin = margin(10, 50, 10, 10))

在此处输入图像描述


推荐阅读