前述已经学习过两条线之间的填充,以下链接可以直达:
现在尝试同时在横向和竖向进行填。
输入以下代码:
python
import matplotlib.pyplot as plt #引入matplotlib模块画图
import numpy as np #引入numpy模块做数学计算
t = np.arange(0.0, 2, 0.01) #定义因变量
s = np.sin(2*np.pi*t) #定义自变量
fig, ax = plt.subplots() #定义画图
ax.plot(t, s, color='black') #画图
ax.axhline(0.5, color='black') #画一条y=0.5的水平线
ax.fill_between(t, 0.5,1, where=s > 0, facecolor='green', alpha=.5) #在因变量大于0的区域,用绿色填充[0.5,1]区间,透明度0.5
ax.fill_betweenx(s, 0.5,1, where=s > -1,facecolor='red', alpha=.5) #在因变量小于0的区域,用红色填充[-1,0.5]区间,透明度0.5
plt.show() #输出图形
运行后的输出结果为:
++图1++
由图1可见:
ax.fill_between()函数规定了竖向填充区域,在纵轴是[0,5,1],在横轴是s>0对应的所有区域;
ax.fill_betweenx()函数规定了横向填充区域,在横轴是[0,5,1],在纵轴是s>-1对应的所有区域。
由图1可见**,ax.fill_betweenx()函数规定的横向填充区域,在纵轴上虽然是s>-1对应的所有区域,但实际取值范围是0>s>-1。**