我感兴趣的是自动将 ggplot2 对象的图例提取为表格(而不是图形对象)。我们用一个例子来说明:
p <- ggplot(iris, aes(x=Sepal.Length, y= Petal.Length, color=Species)) +
geom_point()
p
Run Code Online (Sandbox Code Playgroud)
现在有一个上一个问题,它展示了如何提取图中使用的颜色:
g <- ggplot_build(p)
unique(g$data[[1]]["colour"])
colour
1 #F8766D
51 #00BA38
101 #619CFF
Run Code Online (Sandbox Code Playgroud)
但我也对这些颜色在图例中对应的标签感兴趣,即我感兴趣的最终结果如下表:
colour label
#F8766D setosa
#00BA38 versicolor
#619CFF virginica
Run Code Online (Sandbox Code Playgroud)
欢迎来到 2021 年!
在 ggplot 3.3.3 版本中,我们可以这样做:
g <- ggplot_build(p)
data.frame(colours = unique(g$data[[1]]["colour"]),
label = gb$plot$scales$scales[[4]]$get_labels())
Run Code Online (Sandbox Code Playgroud)
get_labels()
隐藏在对象中的函数可以为您提供颜色的相应标签。我相信第三行神奇的“[[4]]”是因为我的绘图也有 x、y、形状和色标。
归档时间: |
|
查看次数: |
4110 次 |
最近记录: |