[英]How to plot a 2-D cone in python (matplotlib)?
我對python很新,並制作了一個房間的地圖。 我繪制了房間,障礙物和一些點(傳感器)。 現在我想制作一個二維錐體,顯示傳感器看到的區域。 我將為錐體設置一個角度和半徑。 我已經嘗試過搜索,但在之前的問題中已經討論了大多數三維錐體。 錐體應該如何看
任何指導表示贊賞
您可以使用matplotlib.patches.Wedge,例如此示例 。 我已經減少到更相關位的另一個例子是:
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from matplotlib.collections import PatchCollection
import numpy as np
fig, ax = plt.subplots()
patches = []
wedge = mpatches.Wedge((.5, .5), 0.5, 30, 270, ec="none")
patches.append(wedge)
colors = np.linspace(0, 1, len(patches))
collection = PatchCollection(patches, cmap=plt.cm.hsv, alpha=0.3)
collection.set_array(np.array(colors))
ax.add_collection(collection)
plt.show()
產生的東西如下:
顯然,您需要從30
和270
調整theta1
和theta2
,以適合您嘗試表示的任何角度,並將原點移動到傳感器所在的位置。 另外你可能想要將它們全部着色,而不是彩虹,但我會讓你弄清楚細節XD
結束使用以下內容:
import matplotlib.pyplot as plt
from matplotlib.patches import Wedge
fig, ax = plt.subplots()
patches=[]
ax.axis('equal')
we = Wedge((2756.6747,5339751.8148),10,30,180,edgecolor='b',facecolor='none')
patches.append(we)
ax.add_artist(we)
ax.set(xlim=[2740, 2800], ylim=[5339740, 5339780])
plt.show()
感謝@reedinationer給出的指示
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.