matplotlib.pyplot.fill_between()函数

matplotlib.pyplot.fill_between()函数

Matplotlib是Python中一个非常棒的二维数组绘图可视化库。Matplotlib是一个基于NumPy数组构建的多平台数据可视化库,用于更广泛的SciPy堆栈。

matplotlib.pyplot.fill_between ()

matplotlib.pyplot.fill_between()用于填充两条水平曲线之间的区域。两点(x, y1)和(x, y2)定义了曲线。这将创建一个或多个描述填充区域的多边形。“where”参数可以用来有选择地填充一些区域。默认情况下,边直接连接给定的点。如果填充需要一个步骤函数,则使用’ step ‘参数。

语法:matplotlib.pyplot.fill_between(x, y1, y2=0, where=None, step=None, interpolate=False, *, data=None, **kwargs)

参数:

  1. x:它是长度为n的数组。这些是定义曲线的节点的y坐标。
  2. y1:它是长度为N的数组或标量。这表示定义第一条曲线的节点的x坐标。
  3. y2:长度为N的数组,本质上是可选的。默认值为0。这表示定义第二条曲线的节点的x坐标。
  4. where:长度为n的布尔值数组。如果需要排除某些垂直区域的填充,则定义该数组。需要注意的是,这个定义意味着两个假值之间的一个孤立的真值将不进行填充。相邻的False值将导致不填充True值的两边。
  5. interpolate:这是一个可选参数,接受布尔值。它只有在使用的位置和两条曲线相交时才有意义。在语义上,如果通常用于y1>y2或类似的情况。默认情况下,被填充的区域将被放置在x阵列的位置,定义一个被填充的多边形区域。与x相交的部分被剪短了。设置该参数为True,计算实际交点,并扩展到填充区域直到点。
  6. step:这是一个可选参数,接受三个值中的一个,即’ pre ‘, ‘ post ‘和’ mid ‘。这用于指定步骤将发生的位置。
  • pre:从每个y位置开始,x值一直向左连续,也就是说,区间(x[i-1], x[i])的值为y[i]。
  • post:从每个y位置开始,x值不断向右移动,也就是说,区间(x[i], x[i+1])的值为y[i]。
  • mid:这些步骤发生在x位置的中间。

返回值:它从PolyCollection中返回一个绘制的多边形。

其他参数:**kwargs包含PolyCollection中控制多边形属性的关键字;

Property Description
agg_filter 一个filter函数,它接受一个(m, n, 3)浮点数组和一个返回(m, n, 3)数组的dpi值
alpha float or None
animated bool
array ndarray
capstyle {‘butt’, ’round’, ‘projecting’}
clim 长度为2的浮点序列;可以在具有vmin和vmax kwargs的方法中重写。
antialiased or aa or antialiaseds Bool或Bool序列
clip_box Bbox
clip_on bool
clip_path [(Path, Transform)
color rgba元组的颜色或序列
contains callable
edgecolor or ec or edgecolors 颜色或颜色序列或“face”
Facecolor fc或facecolors 颜色或颜色序列
figure figure
gid str
hatch {‘/’, ‘\’, ‘\|’, ‘-‘, ‘+’, ‘x’, ‘o’, ‘O’, ‘.’, ‘*’}
in_layout bool
joinstyle {‘miter’, ’round’, ‘bevel’}
linestyle or ls or linestyles or dashes {‘-‘, ‘–‘, ‘-.’, ‘: ‘, “, (offset, on-off-seq),…}
linewidth or linewidths or lw 浮点数或浮点数序列
norm 正常化
offset_position {‘screen’, ‘data’}
offsets 浮点数或浮点数序列
path_effects AbstractPathEffect
picker None or bool or float or callable
pickradius unknown
path_effects AbstractPathEffect
picker [[Artist, Event]Tuple[bool, dict]]
pickradius float
rasterized bool or None
sketch_params (scale: float, length: float, randomness: float)
snap bool或None
transform matplotlib.transforms.Transform
url str
urls List[str] or None
可见 bool
xdata 一维数组
zorder float

示例1

import matplotlib.pyplot as plt
import numpy as np
  
x = np.arange(0,10,0.1)
  
# plotting the lines
a1 = 4 - 2*x
a2 = 3 - 0.5*x
a3 = 1 -x
  
# The upper edge of
# polygon
a4 = np.minimum(a1, a2)
  
# Setting the y-limit
plt.ylim(0, 5)
  
# Plot the lines
plt.plot(x, a1,
        x, a2,
        x, a3)
  
# Filling between line a3 
# and line a4
plt.fill_between(x, a3, a4, color='green',
                 alpha=0.5)
plt.show()

输出:

matplotlib.pyplot.fill_between()函数

示例2

import matplotlib.pyplot as plt
import numpy as np
  
  
a = np.linspace(0,2*3.14,50)
b = np.sin(a)
  
plt.fill_between(a, b, 0,
                 where = (a > 2) & (a <= 3),
                 color = 'g')
plt.plot(a,b)

输出:

matplotlib.pyplot.fill_between()函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程