python堆叠面积图_Python中带正负值的堆积面积图

可能不是你想要的,但我成功地绘制了一个正负值的面积图。以下代码适用于Python 3.7/Windows 10/Spyder IDE:import matplotlib.pyplot as plt

x_axis = [1,2,3,4,5,6,7,8,9,10]

cheap = [-5,-4,-6,-8,-4,-2,-4,-8,-7,-3]

expensive = [3,4,8,7,9,6,4,3,2,3]

fig_size = plt.rcParams["figure.figsize"] #set chart size (longer than taller)

fig_size[0] = 39

fig_size[1] = 10

plt.rcParams["figure.figsize"] = fig_size

plt.rcParams.update({'font.size': 18})

plt.stackplot(x_axis, expensive, colors=['r'])

plt.stackplot(x_axis, cheap, colors=['g'])

plt.plot([],[],color='r', label='Above great case', linewidth=5)

plt.plot([],[],color='g', label='Below low case', linewidth=5)

plt.legend()

plt.xlabel('Years')

plt.ylabel('Number of companies')

plt.title('Under/over valuation over time')

plt.show()

您应该看到的图表:

这个例程实际上是用来绘制一个包含数千个x轴数据点的图表。我在条形图之前试过了,它比这个面积图要花更长的时间。以下是制作的真实图表示例: