python 填充折线图下部区域

整理一下,运行图:
python 填充折线图下部区域_第1张图片
全部代码为:

from pylab import *

matplotlib.rcParams['axes.unicode_minus']=False
mpl.rcParams['font.sans-serif'] = ['SimHei']

distance = [202, 123, 316, 60, 175, 142, 139]
t_average = [54, 34.7, 93.3, 18.83, 39.8, 48.8, 30.2]
x = [0, 1, 2, 3, 4, 5, 6]
plt.figure(figsize=(10, 3))
plt.plot(distance, color='cornflowerblue')
plt.plot(t_average, color='royalblue')
plt.legend(['站间距(km)', '平均日运行时间(min)'])
plt.xticks(x, ['渭南北-三门峡南', '三门峡南-洛阳龙门', '洛阳龙门-安阳东', '安阳东-邯郸东', '邯郸东-石家庄', '石家庄-高碑店东', '高碑店东-北京西'])
plt.fill_between(x=range(7), y1=0, y2=t_average, facecolor='royalblue', alpha=0.7)
plt.fill_between(x=range(7), y1=t_average, y2=distance, facecolor='cornflowerblue', alpha=0.3)

plt.show()

具体分析:
(1)先画出折线图,折线图的配色可以和下文填充的颜色一致或另行选择。

plt.figure(figsize=(10, 3))
plt.plot(distance, color='cornflowerblue')
plt.plot(t_average, color='royalblue')
plt.legend(['站间距(km)', '平均日运行时间(min)'])
plt.xticks(x, ['渭南北-三门峡南', '三门峡南-洛阳龙门', '洛阳龙门-安阳东', '安阳东-邯郸东', '邯郸东-石家庄', '石家庄-高碑店东', '高碑店东-北京西'])

(2)分别进行填充,填充的原理是选择横向长度x=range(长度),填充下界y1和填充上界y2。需要注意的是,填充两条折线之间的区域时,上折现填充代码下界为下折线,如果是0,则因为颜色重叠会发生变化。

plt.fill_between(x=range(7), y1=0, y2=t_average, facecolor='royalblue', alpha=0.7)
plt.fill_between(x=range(7), y1=t_average, y2=distance, facecolor='cornflowerblue', alpha=0.3)

你可能感兴趣的:(python)