r - 如何将图例添加到 ggplot2 中的多个 hlines?
问题描述
任何人都可以帮我完成一些任务吗?
我必须在geom_hline()
情节中添加 3。
其中一个是显示森林中建议的三人行间距的线,其他是可接受的间距变化上限和下限。
为此,我正在使用geom_hline()
,但我很难以正确的方式展示传说。
此外,这两个限制具有相同的线型(虚线),为红色,另一个为蓝色实线。
因此,如何为这三个 hlines 添加图例?
请记住,我需要在图例中包含两个元素:红色虚线作为限制的简要描述和蓝色实线作为推荐间距的简要描述。
非常感谢,伙计们!
解决方案
要在 中显示图例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 包(v0.3.0)于 2020-05-19 创建
推荐阅读
- android - 从firebase中的一个键获取整个值
- javascript - 如何在 TypeScript 代码中包含 JavaScript 文件?
- python - 我想知道如何对字典列表进行排序,其中字典中有一个字典
- sql-server - 修改存储过程的架构?
- spring-boot - 在反应式编程模型中注册自定义 AuthenticationProvider
- python - 试图用字母“q”退出 Python 程序,但输入是整数?
- python - 停止使用 AdaBoost 进行拟合,降低学习率,然后继续重新拟合
- ms-access - MSAccess - 无效使用属性?
- java - 在不损失精度的情况下推断最小可能的数据类型
- python - Python/Pandas - 查询多索引列