r - 将 geom_segment 包含在单独组中的图例中
问题描述
如何使线 ( geom_segment
) 出现在图例中,作为其自己组中的单独项目?图例应如下所示:
团体
- g1
- g2
信息
- 意思是
最小代码:
data_points <- tibble(x = c(rep(1:10, 2)), y = rnorm(20), group = c(rep("g1", 10), rep("g2", 10)))
data_line <- tibble(x = 1:10, y = 0.5)
ggplot(data_points, aes(x = x, y = y, color = group)) +
geom_point() +
geom_segment(aes(x = data_line$x[1], xend = data_line$x[10], y = data_line$y[1], yend = data_line$y[10]), color = "black") +
scale_color_manual(name = "Groups", labels = c('g1', 'g2'), values = c('blue', 'red'))
提前致谢 : )
解决方案
修改自 是否可以为 geom_point 和 geom_segment 添加图例?.
library(ggplot2)
library(tibble)
data_points <- tibble(x = c(rep(1:10, 2)), y = rnorm(20), group = c(rep("g1", 10), rep("g2", 10)))
data_line <- tibble(x = 1:10, y = 0.5)
ggplot(data_points, aes(x = x, y = y, color = group)) +
geom_point() +
geom_segment(
aes(x = data_line$x[1], xend = data_line$x[10],
y = data_line$y[1], yend = data_line$y[10],
linetype = "mean"),
color = "black") +
scale_color_manual(name = "Groups", labels = c('g1', 'g2'), values = c('blue', 'red')) +
scale_linetype_manual(name = "Info", values = c("mean" = 1))
更改图例的顺序
ggplot(data_points, aes(x = x, y = y, color = group)) +
geom_point() +
geom_segment(
aes(x = data_line$x[1], xend = data_line$x[10],
y = data_line$y[1], yend = data_line$y[10],
linetype = "mean"),
color = "black") +
scale_color_manual(name = "Groups", labels = c('g1', 'g2'), values = c('blue', 'red')) +
scale_linetype_manual(name = "Info", values = c("mean" = 1)) +
guides(color = guide_legend(order = 2), linetype = guide_legend(order = 1))
推荐阅读
- graphql - Orchard Core 内置搜索与 Azure 搜索
- html - 我需要在某些情况下更改占位符的文本(如 If 语句)
- android - 在 Google Analytics SDK 中分离 Amazon 和 Android 指标
- python-3.x - 为什么 Python 3 似乎没有选项卡错误?
- php - 如何摆脱右连接中的空值
- electron - 如何将 Select2 与 Electron 一起使用(未捕获的 TypeError:$(...).select2 不是函数)
- amazon-web-services - Slack 开发者政策中提到的“未发布的 API”的定义是什么?
- php - 根据元素的频率对整数数组进行排序。如果两个元素的频率相同,那么它们将按升序打印
- laravel - 在 VueJS 的嵌套 v-for 循环中切换表单
- c# - 如何从 C# 调用 C++ 代码及其调用的代码