我正在尝试在ggplot2中为色带着色.使用geom_ribbon时,我可以指定ymin和ymax以及填充颜色.它现在做的是着色ymin和ymax之间的所有内容,而不考虑上限或下限.
示例(从Internet修改):
library("ggplot2")
# Generate data (level2 == level1)
huron <- data.frame(year = 1875:1972, level = as.vector(LakeHuron), level2 = as.vector(LakeHuron))
# Change Level2
huron[1:50,2] <- huron[1:50,2]+100
huron[50:90,2] <- huron[50:90,2]-100
h <- ggplot(huron, aes(year))
h +
geom_ribbon(aes(ymin = level, ymax = level2), fill = "grey80") +
geom_line(aes(y = level)) + geom_line(aes(y=level2))
Run Code Online (Sandbox Code Playgroud)
我想用不同于(ymin <ymax)的颜色填充该区域,其中(ymin> ymax).在我的真实数据中,我有导出和导入值.在那里,我想为导出高于导入绿色的区域着色,其中导入大于导出我希望色带为红色.
替代方案:我希望geom_ribbon只填充ymax> ymin的区域.
有谁知道这是怎么做的?
谢谢你的帮助.