我有以极坐标(r,theta)表示的多边形的顶点。我想在极地情节中特别绘制一个填充的多边形。
我知道add_patch可以用于在matplotlib的xy模式下绘制。是否存在极坐标绘图模式的等价物?
答案 0 :(得分:2)
您可以在极坐标子图上使用ax.add_line():
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
r = np.ones(100)
theta = np.linspace(0,2*np.pi,100)
polygon = matplotlib.patches.Polygon(zip(theta,r),fill=False)
fig = plt.figure()
polar = fig.add_subplot(111,projection='polar')
polar.add_line(polygon)
polar.autoscale()
plt.show()
另一种方法是使用ax.fill()和多边形的点。
而不是:
polar.add_line()
你可以使用:
polar.fill(theta,r,fill=False)
如果没有,你将获得相同的结果:
polygon = matplotlib.patches.Polygon(zip(theta,r),fill=False)