我非常喜欢Matplotlib的极坐标图,希望继续使用它(因为我的数据点已经以极坐标给出,而我的环境是环形的)。
但是,在图表中,我想在特定点上添加给定半径的圆圈。
通常,我会这样做:
ax = plt.subplot(111)
ax.scatter(data)
circle = plt.Circle((0,0), 0.5)
ax.add_artist(circle)
plt.show()
然而,在极坐标下,我不能使用圆形,因为它假定为矩形坐标系。
我想到的方法是:生成具有恒定径向坐标和[0,2PI]范围内角度坐标的点阵数组,或完全切换到矩形坐标系。这两种解决方案都不是很令人满意 - 有没有更好的Matplotlib解决方案?
谢谢!
ax.set_theta_zero_location('N')
更改了 theta 的零点位置,那么您应该使用transform = (Affine2D().rotate(ax._theta_offset.get_matrix()[0, 2]) + ax.transProjectionAffine + ax.transAxes)
。 - codeMonkey