我有两组数据(称为L.MEAN和P.MEAN)在同一图上绘制为2条线(用相同的x轴,时间)。我想给行与下行之间的空间上色(P.MEAN)和x轴,但仅在x的一定范围内(在WIT和WOT之间)。为了清楚起见,WIT和WOT只是我通过which()
函数获得的数字。
这是我写的:
library(ggplot2)
library(tidyverse)
data %>% ggplot(aes(x = Time)) +
geom_line(aes(y = L.MEAN, color = "deepskyblue3"), linewidth = 1) +
geom_line(aes(y = P.MEAN, color = "deeppink"), linewidth = 1) +
geom_ribbon(aes(ymin = P.MEAN,
ymax = L.MEAN,
xmin = WIT,
xmax = WOT),
alpha = 0.4,
fill = "deepskyblue") +
geom_ribbon(aes(ymin = 0,
ymax = P.MEAN,
xmin = WIT,
xmax = WOT),
alpha = 0.4,
fill = "deeppink")
字符串
不幸的是,它似乎不起作用,因为它对整个x轴进行着色。
有人能告诉我我做错了什么吗?
1条答案
按热度按时间vaqhlq811#
如果你只想给图表的一个范围上色,那么你必须过滤
geom_ribbon
所用的数据以获得所需的范围。另外,我通过scale_color_manual
设置颜色来固定线条的颜色分配。使用一些伪造的随机示例数据:
字符串
的数据