matplotlib.pyplot.fill_betweenx()函数
Matplotlib是Python中一个非常棒的二维数组绘图可视化库。Matplotlib是一个基于NumPy数组构建的多平台数据可视化库,用于更广泛的SciPy堆栈。
matplotlib.pyplot.fill_betweenx ()
matplotlib.pyplot.fill_betweenx()用于填充两条垂直曲线之间的区域。两点(x1, y)和(x2, y)定义了曲线。这将创建一个或多个描述填充区域的多边形。“where”参数可以用来有选择地填充一些区域。默认情况下,边直接连接给定的点。如果填充需要是一个步骤函数,则使用’ step ‘参数。
语法:
*matplotlib.pyplot.fill_betweenx(y, x1, x2=0, where=None, step=None, interpolate=False, \*, data=None, **kwargs)*
参数:
- y:它是长度为n的数组。这些是定义曲线的节点的y坐标。
x1:长度为N的数组或标量。这表示定义第一条曲线的节点的x坐标。
x2:是一个长度为N的可选数组。默认值为0。这表示定义第二条曲线的节点的x坐标。
where:长度为n的布尔值数组。如果需要排除某些垂直区域的填充,则定义该数组。需要注意的是,这个定义意味着两个假值之间的一个孤立的真值将不进行填充。相邻的False值将导致不填充True值的两边。
interpolate:这是一个可选参数,接受布尔值。它只有在使用的位置和两条曲线相交时才有意义。在语义上,如果通常用于x1>x2或类似的情况。默认情况下,填充区域将被放置在y阵列的位置,定义一个填充的多边形区域。y的交点部分被剪短了。设置该参数为True,计算实际交点,并扩展到填充区域直到点。
step:这是一个可选参数,接受三个值中的一个,即’ pre ‘, ‘ post ‘和’ mid ‘。这用于指定步骤将发生的位置。
- pre:从每一个x位置开始,y值一直向左连续,也就是说,区间(x[i-1], x[i])的值是y[i]。
post:从每个x位置开始,y值不断向右移动,也就是说,区间(x[i], x[i+1])的值为y[i]。
mid:这些步骤发生在x位置的中间。
返回值:它从PolyCollection中返回一个绘制的多边形。
示例1
import matplotlib.pyplot as plt
import numpy as np
a = np.linspace(0,2*3.14,50)
b = np.sin(a)
plt.fill_betweenx(a, b, 0,
where = (a > -0.5) & (a <= 1),
color='g')
plt.plot(a, b)
输出:
示例2
import pylab as plt
import numpy as np
N = np.linspace(0,3,200)
A1 = N**2 + 3
A2 = np.exp(N) + 2
A3 = np.cos(N)
plt.plot(N, A1, lw = 3)
plt.plot(N, A2, lw = 3)
plt.plot(N, A3, lw = 3)
plt.fill_betweenx(N, A1, A2,
color = 'r',
alpha = .5)
plt.fill_betweenx(N, A1, A3,
color = 'g',
alpha = .5)
plt.show()
输出: