数据帧plot函数以你描述的方式处理负值。df.plot(kind="bar", stacked=True)
给我们这个图表:
我们可以通过将数据帧的行相加并绘制返回的行,在问题的图像中添加一条与黑线类似的“总”行。Series对象位于相同的axes作为条形图:
生成第二个图表的代码如下所示。import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(index=['06-11-2018', '06-12-2018', '06-13-2018',
'06-14-2018', '06-15-2018'],
data={'A': [-378, 2347, 509, 987, 513],
'B': [527, 2599, -765, 533, 670],
'C': [2343, -2273, 2093, -2197, 1990],
'D': [1845, 1853, -3325, 1306, 2160]})
ax = df.plot(kind="bar", stacked=True)
df.sum(axis=1).plot(ax=ax, color="k")
plt.show()