我正在尝试重现一个堆叠的时间序列图表,该图表显示了银行资产负债表的构成和大小如何随时间变化。看起来应该是这样的:
资产高于x轴且负债低于x轴。
到目前为止,我已经能够使用ggplot()
成功地重现图表的每一半:
# plot assets stack
assets.plot <- ggplot(assetsm, aes(x=dates, y=value, fill=variable)) +
geom_area()
# plot liability stack
liabiln.plot <- ggplot(liabilnm, aes(x=dates, y=value, fill=variable)) +
geom_area()
给出:
但是当我把它们加在一起时,出现了问题:
# plot whole bs
bs.plot <- ggplot(bsm, aes(x=dates, y=value, fill=variable)) +
geom_area()
给出:
记下它旁边的色标和上面的图片,你可以看到:
我不知道我的代码中缺少什么导致这种情况 - 我已经摆弄了position = "stack"
显式,并尝试了this question的答案(相同的结果),而且我我现在已经结束了。
我认为这可能是一个数据问题,所以我上传了数据here。如果我能使问题更清楚或提供额外的细节,请告诉我。
答案 0 :(得分:3)
我无法解释你目前所看到的行为,但是当我做这样的顶部/底部类型图时,我倾向于使用单独的数据帧进行单独的图层调用:
ggplot() +
geom_area(data = assetsm, aes(x=dates, y=value, fill=variable)) +
geom_area(data = liabilnm, aes(x=dates, y=value, fill=variable))
看起来像你想要的那样: