r - 在 ggplot 点图中为垂直线添加第二个图例
问题描述
这是我创建的示例 ggplot 点图:
为此,我使用了以下代码:
mtcars$cyl<-as.character(mtcars$cyl)
ggplot(
mtcars,
aes(fill=cyl,
y=gear,
x=mpg)) +
geom_line(aes(group = gear)) +
geom_vline(xintercept = mean(mtcars$mpg), linetype="dotted",
color = "black", size=1) +
geom_point(aes(color = cyl),size=5) +
theme_bw() +
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank())
我真正想要的是第二个图例,描述虚线是整体平均值。它可能看起来像这样:
我怎样才能做到这一点?
解决方案
这可以是一种解决方案:
library(tidyverse)
mtcars$cyl<-as.character(mtcars$cyl)
d_me <-
mtcars %>%
summarize(me = mean(mpg)) %>%
mutate(var = "overall \n mean")
mtcars %>%
ggplot(
aes(fill=cyl,
y=gear,
x=mpg)) +
geom_line(aes(group = gear)) +
geom_point(aes(color = cyl),size=5) +
geom_vline(data = d_me, aes(xintercept = me, linetype = var),
color = "black", size=1) +
scale_linetype_manual(values = "dotted", name = "") +
theme_bw() +
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank())
推荐阅读
- .htaccess - htaccess 动态 url 重定向
- python - 在两个文本文件之间查找和替换
- javascript - 使用 google firebase 开发混合移动应用程序
- python - 无法使用 CreateView 保存表单(Django、Python)
- node.js - 有没有更简单的方法可以从第 4 分钟到第 9 分钟等每 5 分钟编写一次 cron 作业
- html - 如何将此文本与图像对齐?(在堆栈溢出上浏览太久,解决方案似乎不起作用)
- ssl - 使用 HA 代理进行反向代理
- sql - 从两个表计算分区并在bigquery中使用小于或等于索引的索引
- rest - 在 golang GRPC 服务器中处理 REST 请求
- c# - 在没有 ref (C#) 的方法中更改属性参数时会发生什么