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