使用Pandas将所选列绘制为条形和时间序列

时间:2016-04-17 11:06:36

标签: python pandas

我有5个列表并将它们添加到pandas数据框中,并希望将最后3个(范围:1-10)绘制为堆叠条,将其他2个(范围:30-100)绘制为时间序列。堆积条形图作为底部的单独图形和其上方的时间序列。样本数据如下:

           A           B        C      D      E
0        41.62       41.62      0      1      0
1        65.67       33.19      3      0      1
2        46.51       32.47      3      1      0
3        40.91       40.91      0      1      0
4        88.37       32.10      1      1      1
5        46.71       46.71      0      1      0
6        33.24       33.24      1      0      0
7         0.00        0.00      0      0      0
8        46.34       32.57      1      5      0
9        45.41       32.84      1      3      0
10       40.83       40.83      0      1      0

如果将所有5个列表添加到同一数据框,只需向数据框添加3个列表但很难分隔列,就可以轻松创建堆积条:

pct_list = pd.DataFrame({'C':c,'D':d,'E':e})
# pct_list = pd.DataFrame({'A':a,'B':b,'C':c,'D':d,'E':e})
pct_list.plot.bar(stacked=True)
plt.ylim([0,10])
plt.grid()
plt.show()

请建议如何分别创建绘图和控制轴限制。

1 个答案:

答案 0 :(得分:1)

ax=df.plot.bar(['A','B'],['C','D','E'],stacked=True)

改进xlabels显示:

ax.figure.tight_layout()
plt.draw()

enter image description here