r - ggplot2 - 多个 geom_lines 的单独图例
问题描述
我正在绘制一个看起来像这样的时间序列:
library(ggplot2)
df1 <- data.frame(date=as.Date(seq(ISOdate(2019,1,1), by="1 day", length.out=365)),
value=runif(365))
df2 <- data.frame(date=as.Date(seq(ISOdate(2019,1,1), by="1 day", length.out=365)),
value=runif(365)+3)
ggplot() +
geom_line(df1, mapping=aes(x=date, y=value)) +
geom_line(df2, mapping=aes(x=date, y=value)) +
geom_vline(aes(xintercept=as.Date("2019-06-15"), colour="Milestone 1"), linetype="dashed") +
geom_vline(aes(xintercept=as.Date("2019-07-20"), colour="Milestone 2"), linetype="dashed") +
geom_vline(aes(xintercept=as.Date("2019-09-15"), colour="Milestone 3"), linetype="dashed") +
scale_color_manual(name="Milestones",
breaks=c("Milestone 1","Milestone 2","Milestone 3"),
values = c("Milestone 1" = "red",
"Milestone 2" = "blue",
"Milestone 3" = "green"))
但是,我想为geom_lines
映射的df1
和添加颜色和单独的图例df2
。
如何做到这一点?
解决方案
这是你想要做的吗?
library(tidyverse)
df1 <- data.frame(date=as.Date(seq(ISOdate(2019,1,1), by="1 day", length.out=365)),
value=runif(365))
df2 <- data.frame(date=as.Date(seq(ISOdate(2019,1,1), by="1 day", length.out=365)),
value=runif(365)+3)
df1$Lines <- factor("Line 1")
df2$Lines <- factor("Line 2")
df3 <- rbind(df1, df2)
ggplot(df3) +
geom_line(df3, mapping = aes(x = date, y = value, alpha = Lines)) +
geom_vline(aes(xintercept = as.Date("2019-06-15"), colour = "Milestone 1"), linetype = "dashed") +
geom_vline(aes(xintercept = as.Date("2019-07-20"), colour = "Milestone 2"), linetype = "dashed") +
geom_vline(aes(xintercept = as.Date("2019-09-15"), colour = "Milestone 3"), linetype = "dashed") +
scale_color_manual(name="Milestones",
breaks=c("Milestone 1","Milestone 2","Milestone 3"),
values = c("Milestone 1" = "red",
"Milestone 2" = "blue",
"Milestone 3" = "green"))
推荐阅读
- unix - 强制 GNU-make 使用符号链接目标的修改时间,而不是源的修改时间
- javascript - 是否可以在 React 中创建自定义事件?
- json - 如何在python中将字典附加到json文件
- react-native-android - 无法在反应本机平面列表android中显示图像
- python-3.x - 通过 Jenkins 运行机器人测试用例时出现“失败:数据源不存在”
- php - 从数据库打印数据(白页)
- vue.js - vuejs beforeRouteEnter。如果用户已登录,则禁用转到 url
- python - 在 python3 中初始化类属性的最佳方法是什么?
- c# - 网格视图未显示第一行 ASP.NET、C# Sql 服务器
- python - 在 keras 中预测时索引超出范围