如何将图例添加到 ggplot2 中的多行?
Posted
技术标签:
【中文标题】如何将图例添加到 ggplot2 中的多行?【英文标题】:How can I add legend to multiple hlines in ggplot2? 【发布时间】:2020-09-05 20:28:51 【问题描述】:
谁能帮我完成一些任务?
我必须在情节中添加 3 geom_hline()
。
其中一个是显示森林中建议的三人行间距的线,其他是间距变化的可接受上限和下限。
为此,我使用了geom_hline()
,但我很难以正确的方式展示这些图例。
此外,这两个限制具有相同的线型(虚线),为红色,另一个为蓝色实线。
因此,如何为这三个 hlines 添加图例?
请记住,我需要在图例中包含两个元素:红色虚线作为限制的简要描述和蓝色实线作为推荐间距的简要描述。
非常感谢,伙计们!
【问题讨论】:
【参考方案1】:要在ggplot
中显示图例,您应该创建一个美学映射。最简单的方法是拥有一个单独的小数据框,其中包含您要在 hline
s 上显示的信息。
您还没有提供任何示例数据,所以我在这里做了一些,以便这是一个完全可重现的示例:
library(ggplot2)
set.seed(69)
main_data <- data.frame(x = rnorm(200, 10), y = rnorm(200, 10))
hline_data <- data.frame(y = c(8, 10, 12), type = factor(c(2, 1, 2)),
stringsAsFactors = FALSE)
ggplot(main_data, aes(x,y)) +
geom_point() +
geom_hline(data = hline_data,
aes(yintercept = y, linetype = type, colour = type)) +
scale_colour_manual(values = c("blue", "red"),
labels = c("Recommended Spacing", "Limits of spacing"),
name = "Key") +
scale_linetype_manual(values = 1:2,
labels = c("Recommended Spacing", "Limits of spacing"),
name = "Key")
由reprex package (v0.3.0) 于 2020-05-19 创建
【讨论】:
再次感谢!这不是你第一次在这里帮助我很多。您的解决方案对我来说效果很好,帮助我了解了传说中的某些事情。 我不知道这一点。我是***的新手。谢谢你的提示。我会针对我提出的其他问题这样做。以上是关于如何将图例添加到 ggplot2 中的多行?的主要内容,如果未能解决你的问题,请参考以下文章
将水平线添加到 R 中 ggplot2 中的堆叠条形图,并在图例中显示
多行,每行都基于 ggplot2 中的不同数据框 - 自动着色和图例
R语言ggplot2可视化将图例移动到分面图(facet)中的空白分面区域实战