1
我试图重现一个堆叠的时间序列图,它显示了银行资产负债表的组成和规模如何随时间而变化。它应该是这个样子:使用ggplot2和geom_area堆积的负/正时间序列
哪里去资产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()
这给:
注意到它旁边的色标和上面的图片中,可以看到:
- 只有一半的变量显示(从V19开始)。
- 这些变量恰好与“负债”一半的数据(所有这些都应该是负数)一致。
- x上每个点上堆栈的总高度等于上图中负载堆栈的总高度,但不再从y = 0开始 - 它落在y轴的两侧。
我不知道发生了什么,从我的代码丢失造成这一点 - 我已经做position = "stack"
明确,以及试图回答this question(相同的结果)左右摆弄,我现在在我的机智的很结束。
我认为这可能是一个数据问题,所以我上传了数据here。如果我可以让问题更清楚或提供额外的细节,请告诉我。
奏效第一次,谢谢。它真的只是使用独立的数据框架来改变它们吗? – steve
@steve我认为(但我不是100%肯定)这个问题与ggplot如何做堆栈有关,这是一个比你想象的更难的问题,从编写绘图函数的角度来看神奇地预见了广泛的用户输入。 – joran