1

我有以极坐标(r,theta)表示的多边形的顶点。我想专门在极坐标图中绘制一个填充的多边形。

我知道 add_patch 可以用来在 matplotlib 的 xy 模式下绘制。极坐标绘图模式是否有等价物?

4

1 回答 1

3

您可以在极坐标子图上使用 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)

在此处输入图像描述

于 2013-07-14T16:33:24.977 回答