📜  Python中的 Matplotlib.axes.Axes.fill_between()(1)

📅  最后修改于: 2023-12-03 14:46:33.607000             🧑  作者: Mango

Python中的 Matplotlib.axes.Axes.fill_between()

Matplotlib是Python中常用的绘图库,提供了很多实用的函数,其中fill_between()方法是Axes对象的一个方法,用于填充两个曲线之间的区域。

方法定义
fill_between(x, y1, y2=0, where=None, interpolate=False, step=None, **kwargs)
参数说明
  • x: 数组类型,指定x轴的数据,长度必须与y1y2相同。
  • y1: 数组类型,指定第一个曲线的y轴数据。
  • y2: 数组类型,可选参数,指定第二个曲线的y轴数据,如果没有指定,默认为0。
  • where: 数组类型,可选参数,指定哪些部分要填充颜色,要求长度与x相同。如果该参数为None,则表示填充整个区域。
  • interpolate: 布尔类型,可选参数,指定是否进行插值。默认为False,不进行插值,直接连接点与点之间的线段。
  • step: 字符串类型,可选参数,指定堆叠的方式,有两种方式:pre表示前一个区间先堆叠,post表示后一个区间先堆叠。默认为None,不进行堆叠。
  • **kwargs: 字典类型,其他参数,可以自定义fill_between填充区域的样式。
示例
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.fill_between(x, y1, y2, where=(y1 > y2), interpolate=True, color='green', alpha=0.4, label='fill_between', hatch='/')

plt.plot(x, y1, 'r-', label='sin')
plt.plot(x, y2, 'b-', label='cos')

plt.legend(loc='upper right')
plt.show()

该示例中,通过np.sin(x)np.cos(x)生成两条曲线,再通过fill_between方法绘制与y1y2之间的交叉区域的填充。其中where参数限制了只在y1 > y2的区域进行填充,interpolate参数进行了插值操作,连接了交叉点与左右两侧的点,color参数指定了填充颜色,alpha参数指定了填充的透明度,label指定填充区域的标签,hatch参数指定了填充区域的填充样式。

fill_between

以上就是Python中的Matplotlib.axes.Axes.fill_between()方法的详细介绍。