在matplotlib极坐标图中设置theta-ticks

Ste*_*ton 4 python matplotlib

我的问题与以下内容有关: Matlab中的散射极坐标图

我试着在网上寻找,但是找不到这个轴。而不是将极坐标图设为0到360度,我怎么做-180到180度呢?

Pau*_*l H 5

创建极轴后,您可以简单地设置刻度。请注意,您必须以弧度设置刻度,并且matplotlib将以度为单位显示。

不太确定如何处理180和-180之间的差异。

import matplotlib.pyplot as plt
fig, ax1 = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax1.set_xticks(np.pi/180. * np.linspace(180,  -180, 8, endpoint=False))
Run Code Online (Sandbox Code Playgroud)

极轴

  • 不,我知道了。在更新的`matplotlib`版本中(自2017年以来),在极坐标图上设置`xticks`也会影响theta的极限。参见https://github.com/matplotlib/matplotlib/pull/4699 在`ax.set_xticks(...)`之后调用`ax.set_thetalim(-np.pi,np.pi)`可确保绘制完整的圆。请参阅https://matplotlib.org/api/projections_api.html#matplotlib.projections.polar.PolarAxes.set_thetalim。 (2认同)