Python中的 Matplotlib.axes.Axes.fill_between()
Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。
Axes 类包含大部分图形元素:Axis、Tick、Line2D、Text、Polygon 等,并设置坐标系。 Axes 的实例通过回调属性支持回调。
matplotlib.axes.Axes.fill_between()函数
matplotlib 库的 axes 模块中的Axes.fill_between()函数用于填充两条水平曲线之间的区域。
Syntax: Axes.fill_between(self, x, y1, y2=0, where=None, interpolate=False, step=None, *, data=None, **kwargs)
Parameters: This method accept the following parameters that are described below:
- x: This parameter contains the horizontal coordinates of the data points which are used to define the curves.
- y1: This parameter contains the y coordinates of the data points which are used to define the first curves
- y2: This parameter contains the y coordinates of the data points which are used to define the second curves. It is an optional with default value of 0.
- where: This parameter is an optional parameter. And it is used to exclude some horizontal regions from being filled.
- interpolate: This parameter is also an optional parameter. And it is the linewidth of the errorbar lines with default value NONE.
- step: This parameter is also an optional parameter. And it is used to define if the filling should be a step function or not.
Returns: This returns a PolyCollection containing the plotted polygons.
下面的示例说明了 matplotlib.axes 中的 matplotlib.axes.Axes.fill_between()函数:
示例 1:
# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-5, 5, 0.01)
y1 = -3 * x*x + 10 * x + 10
y2 = 3 * x*x + x
fig, ax = plt.subplots()
ax.plot(x, y1, x, y2, color ='black')
ax.fill_between(x, y1, y2, where = y2 >y1,
facecolor ='green', alpha = 0.8)
ax.fill_between(x, y1, y2, where = y2 <= y1,
facecolor ='black', alpha = 0.8)
ax.set_title('matplotlib.axes.Axes.fill_between Example1')
plt.show()
输出:
示例 2:
# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0.0, 2, 0.01)
y1 = np.sin(2 * np.pi * x)
y2 = 0.8 * np.sin(4 * np.pi * x)
fig, (ax1, ax2, ax3, ax4) = plt.subplots(4, 1,
sharex = True,
figsize =(6, 6))
ax1.fill_between(x, y1, facecolor ='green')
ax1.set_title('Fill_Between y1 and 0')
ax2.fill_between(x, y1, 1, facecolor ='green')
ax2.set_title('Fill_Between y1 and 1')
ax3.fill_between(x, y1, y2, facecolor ='green')
ax3.set_title('Fill_Between y1 and y2')
ax3.set_xlabel('x')
fig.tight_layout()
ax4.fill_between(x, y1, y2, where = y2 <= y1,
facecolor ='green')
ax4.set_title('Fill_Between y1 and y2 with condition y2 <= y1 ' )
ax4.set_xlabel('x')
fig.tight_layout()
plt.show()
输出: