当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python 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-array位置,以定义填充的多边形区域。 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的控制多边形属性的关键字;

属性 描述
agg_filter 一个过滤器函数,它使用一个(m,n,3)浮点数组和一个dpi值来返回一个(m,n,3)数组
alpha 浮点数或无
animated bool
array ndarray
capstyle {‘butt’,“回合”,‘projecting’}
clim 长度为2的浮点序列;在具有vmin和vmax kwargs的方法中可能会被覆盖。
cmap 颜色图或注册的颜色图
antialiased or aa or antialiaseds 布尔或布尔序列
clip_box Bbox
clip_on bool
clip_path [(Path,Transform)|补丁|无]
color rgba元组的颜色或顺序
contains callable
edgecolor or ec or edgecolors 颜色或颜色序列或‘face’
facecolor or fc or facecolors 颜色或颜色顺序
figure figure
gid str
hatch {‘/’、‘\’、‘|’、‘-’、‘+’、‘x’、‘o’、‘O’、‘.’、‘*’}
in_layout bool
joinstyle {‘miter’,“回合”,‘bevel’}
linestyle or ls or linestyles or dashes {“-”,“-”,“-。”,“:”,“,(偏移量,on-off-seq),...}
linewidth or linewidths or lw 浮点数或浮点数序列
norm Normalize
offset_position {‘screen’,‘data’}
offsets 浮点数或浮点数序列
path_effects AbstractPathEffect
picker 无或布尔或浮点数或可赎回
pickradius unknown
path_effects AbstractPathEffect
picker float或callable [[Artist,Event],Tuple [bool,dict]]
pickradius float
rasterized 布尔还是无
sketch_params (比例:浮点数,长度:浮点数,随机性:浮点数)
snap 布尔还是无
transform matplotlib.transforms.Transform
url str
urls 列出[str]或无
visible 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()

输出:

python-matplotlib-find-between-1

范例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)

输出:

python-matplotlib-fill-between2-





注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 Matplotlib.pyplot.fill_between() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。