在Matplotlib可視化文件中定義路徑。
所有對象下面的matplotlib.patches
對象是Path
,它支持標准的moveto,lineto,curveto命令集,
以繪制由線段和樣條線組成的簡單且復合的輪廓。使用Path
(x,y)頂點的(N,2)數組和路徑代碼的N長度數組來實例化。
例如,要將單位矩形從(0,0)繪制為(1,1),我們可以使用以下代碼:
可以識別以下路徑代碼
碼 | 頂點 | 描述 |
---|---|---|
STOP |
1(忽略) | 整個路徑末端的標記(目前不需要,已忽略) |
MOVETO |
1個 | 拿起筆並移至給定的頂點。 |
LINETO |
1個 | 從當前位置到給定頂點畫一條線。 |
CURVE3 |
2(1個控制點,1個端點) | 從當前位置到給定的控制點,再到給定的終點,繪制二次貝塞爾曲線。 |
CURVE4 |
3(2個控制點,1個端點) | 從當前位置(具有給定的控制點)到給定的端點繪制三次貝塞爾曲線。 |
CLOSEPOLY |
1(點本身被忽略) | 在當前折線的起點繪制一條線段。 |
貝塞爾例子
一些路徑組件需要多個頂點來指定它們:
例如,CURVE 3是具有一個控制點和一個端點的貝塞爾曲線,而CURVE4具有兩個控制點和端點的三個頂點。
下面的示例顯示了CURVE4Bézier樣條曲線-貝塞爾曲線將包含在起點,兩個控制點和終點的凸包中
掃盲 zip()函數
描述
zip() 函數用於將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的對象,這樣做的好處是節約了不少的內存。
我們可以使用 list() 轉換來輸出列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。