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)
参数:
- x:它是长度为N的数组。这是定义曲线的节点的y坐标。
- y1:它是长度为N或标量的数组。这表示定义第一条曲线的节点的x坐标。
- y2:它是长度为N的数组,实际上是可选的。它的默认值为0。这表示定义第二条曲线的节点的x坐标。
- where:它是长度为N的布尔值的数组。定义是否需要排除某些垂直区域以使其不被填充。重要的是要注意,此定义意味着两个虚假值之间的孤立真实值将不会执行填充。相邻的False值导致未填充True值的两侧。
- interpolate:它是一个可选参数,它接受布尔值。仅当在何处使用并且两条曲线彼此交叉时才有意义。语义上,如果通常用于y1> y2或类似情况。默认情况下,填充区域将放置在x-array位置,以定义填充的多边形区域。 x的具有相交的部分被简单地裁剪。将此参数设置为True会计算出实际的相交点,并扩展到填充区域,直到该点为止。
- 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()
输出:
范例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)
输出:
注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 Matplotlib.pyplot.fill_between() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。