import matplotlib.pyplot as plt
import numpy as np
# 函数np.ma.masked_greater()中的参数y2是需要进行数值掩饰的数组,掩饰的条件是将数组y2中大于1.0的元素进行掩饰处理,将未被掩饰的元素仍然在数组显示
fig,ax = plt.subplots(1,2)
# subplot(121) data
x = np.linspace(0,2,500)
y1 = np.sin(2*np.pi*x)
y2 = 1.2*np.sin(3*np.pi*x)
y2 = np.ma.masked_greater(y2,1.0)
#plot y1 and plot y2
ax[0].plot(x,y1,color="k",lw=1,ls="-")
ax[0].plot(x,y2,color="k",lw=1,ls="-")
# "where y1 <= y2"
ax[0].fill_between(x,y1,y2,where=y2>=y1,facecolor="cornflowerblue",alpha=0.7)
# "where y1 >= y2"
ax[0].fill_between(x,y1,y2,where=y2<=y1,facecolor="darkred",alpha=0.7)
ax[0].set_xlim(0,2)
ax[0].set_ylim(-1.2,1.2)
ax[0].grid(ls=":",lw=1,color="gray",alpha=0.5)
# subplot(122) data
y = np.linspace(0,2,500)
x1 = np.sin(2*np.pi*x)
x2 = 1.2*np.sin(3*np.pi*y)
x2 = np.ma.masked_greater(x2,1.0)
#plot x1 and plot x2
ax[1].plot(x1,y,color="k",lw=1,ls="-")
ax[1].plot(x2,y,color="k",lw=1,ls="-")
# "where x1 <= x2"
ax[1].fill_betweenx(y,x1,x2,where=x2>=x1,facecolor="cornflowerblue",alpha=0.7)
# "where x1 >= x2"
ax[1].fill_betweenx(y,x1,x2,where=x2<=x1,facecolor="darkred",alpha=0.7)
ax[1].set_xlim(-1.2,1.2)
ax[1].set_ylim(0,2)
ax[1].grid(ls=":",lw=1,color="gray",alpha=0.5)
plt.show()
数据可视化实操1-6
最新推荐文章于 2020-12-09 10:26:18 发布