最终的图形如下
?
?
先导入相关的包,最主要运用的是ax.fill_between()函数
import numpy as np
import matplotlib.pyplot as plt
产生画图需要的三条线
x=np.linspace(0,8,100)
y1=np.zeros(100)
y1[:]=6
y2=9-1.5*x
upper=np.minimum(y1, y2) #确定上边界需要的线段
产生x=4这条边界线
x1=np.zeros(100)
x1[:]=4
y3=np.linspace(0,10,100)
nx=np.minimum(4, x) #确定了边界,即最大以x=4为上界
画图
fig, ax = plt.subplots()
ax.plot(x, y1, label='y1=6')
ax.plot(x, y2, label='y2=9-1.5*x')
ax.plot(x1, y3, label='x=4')
ax.fill_between(nx,upper,color='gray', alpha=.5)
ax.spines['right'].set_visible(False) #去掉右边界
ax.spines['top'].set_visible(False)
ax.set_xlim((0.0, 10.000)) #设置x的画图显示范围
ax.set_ylim((0.0, 10.000))
ax.legend(loc=1)#标签必须加这个才能进行显示
plt.show()
|