當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。