【发布时间】:2016-10-11 20:23:01
【问题描述】:
R 新手,stackoverflow 新手,请见谅....
我正在尝试使用 ggplot2 在 R 中绘制时间序列图。我想显示两个折线图,它们在给定日期的值下方填充。我一直在尝试使用 geom_area(position="identity") 函数来做到这一点。
但是,我的图表上只显示了一种颜色(尽管两种颜色都显示在图例中)。我首先使用melt() 融化我的数据,现在使用三列(X=时间,变量=地下水井,值=地下水高程)。下面是我的代码的简化版本,以及我得到的屏幕截图。
Bank01MWtest<-data.frame(X=(c(1,2,2,1)),variable=(c("MW-01A","MW-01A","MW-01B","MW-01B")),value=(c(576,571,584,580)))
ggplot(data=Bank01MWtest, aes(x=X, y=value,group=variable))+geom_area(position="identity", aes(fill=variable))+geom_line(aes(color=variable))+coord_cartesian(ylim=c(570,590))
我想展示两种颜色。 MW.01A 线下方一种颜色,MW.01B 线下方一种颜色。
有什么帮助吗?
【问题讨论】:
-
您应该提供最小的reproducible example 与示例输入数据,以便更清楚到底发生了什么。如果我们可以将代码复制/粘贴到 R 中进行测试,将会更容易为您提供帮助。
-
你有两种颜色,但是当你把一种透明颜色放在另一种上面时,它们会组合成另一种颜色。删除 alpha 以查看。如果需要查看两个组,您可以使用
fill = rev(variable)反转首先绘制哪个变量。 -
对不起。我更新了OP。新图片也已更新。