在事件前后动态更改线图中的颜色
Dynamically change colors in linegraph before and after event
假设我有一个包含 n 条线的折线图。
每条线都有一个对应的 x 轴值,我希望在特定事件前后使用不同的颜色。
例如,每个人开始时都是绿色,但是当他们有活动时,线条颜色会切换为红色。
我能够使用循环在 base 中找到解决方案,寻找 base 或 ggplot 解决方案。
lines <- data.frame(id = rep(c("A","B"), each = 5),
x = 1:5,
val = 1:10)
events <-data.frame(id = c("A","B"),
time = c(3, 4))
library(tidyverse)
lines %>%
left_join(events) %>%
group_by(id) %>%
mutate(status = if_else(x < time, "before", "after")) %>%
ggplot(aes(x, val, color = status, group = id)) +
geom_line(size = 4)
假设我有一个包含 n 条线的折线图。 每条线都有一个对应的 x 轴值,我希望在特定事件前后使用不同的颜色。
例如,每个人开始时都是绿色,但是当他们有活动时,线条颜色会切换为红色。
我能够使用循环在 base 中找到解决方案,寻找 base 或 ggplot 解决方案。
lines <- data.frame(id = rep(c("A","B"), each = 5),
x = 1:5,
val = 1:10)
events <-data.frame(id = c("A","B"),
time = c(3, 4))
library(tidyverse)
lines %>%
left_join(events) %>%
group_by(id) %>%
mutate(status = if_else(x < time, "before", "after")) %>%
ggplot(aes(x, val, color = status, group = id)) +
geom_line(size = 4)