提问者:小点点

使用Pandas将选定列打印为条形图和时间序列


我有5个列表,并将它们添加到熊猫数据框中,并希望将最后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个答案

匿名用户

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

要改进x标签的显示:

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