我想通過幾個多邊形來夾住一個點云,但是我不知道這是否可以通過plt.axis.set_clip_path()實作。
由于set_clip_path()需要一個Path或Patch作為引數,你如何能創建一個由幾個Polygons組成的幾何體?這將是一個類似于plt.MultiPolygon()的東西,但它并不存在。我試著用所有的Polygon創建一個matplotlib.PatchCollection,但這并不可行。
這里是我想要的代碼的樣子:
importmatplotlib.pyplot as plt
from matplotlib.collection import PatchCollection
import numpy as np
fig, ax = plt.subplots()
points = np.array([np.random.random(100)*400,
np.random.random(100)*100]).T
A = plt.Polygon( np. array([( 0, 0), (50,100)。 (100, 0)]), color='w'/span>, ec='k'/span> )
B = plt.Polygon( np. array([(120 , 0), (170 , 100), (220, 0)]), color='w'/span>, ec='k'/span> )
C = plt.Polygon( np. array([(240 , 0), (290 , 100), (340, 0)]), color='w'/span>, ec='k'/span> )
[ax.add_patch(i) for i in (A,B,C)]
ax.scatter(point[:,0], points[:,1], zorder=3).set_clip_path([A,B,C] )
uj5u.com熱心網友回復:
你可以將所有多邊形的頂點和代碼連接起來,并使用它們來創建一個
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/328922.html
標籤:

