我有以极坐标(r,theta)表示的多边形的顶点。我想专门在极坐标图中绘制一个填充的多边形。
我知道 add_patch 可以用来在 matplotlib 的 xy 模式下绘制。极坐标绘图模式是否有等价物?
我有以极坐标(r,theta)表示的多边形的顶点。我想专门在极坐标图中绘制一个填充的多边形。
我知道 add_patch 可以用来在 matplotlib 的 xy 模式下绘制。极坐标绘图模式是否有等价物?
您可以在极坐标子图上使用 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)