【发布时间】:2014-01-24 02:38:13
【问题描述】:
我的问题与以下有关: Scatter polar plot in matlab
我尝试在网上查找,但找不到与此轴相关的任何内容;而不是极坐标图从 0 度到 360 度,我该怎么做 -180 到 180 度呢?
【问题讨论】:
-
-180 和 0 之间的数据将显示在 180 和 360 之间,如果您可以接受 0-360 的标签
标签: python matplotlib
我的问题与以下有关: Scatter polar plot in matlab
我尝试在网上查找,但找不到与此轴相关的任何内容;而不是极坐标图从 0 度到 360 度,我该怎么做 -180 到 180 度呢?
【问题讨论】:
标签: python matplotlib
创建极轴后,您可以简单地设置刻度。请注意,您必须以弧度设置刻度,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))
【讨论】:
xticks 和xtick_labels 之间的区别。听起来您可能还想编写自定义Locator 或Formatter
matplotlib 版本中(从 2017 年的某个时间开始),在极坐标图上设置 xticks 也会影响 theta 的限制。见github.com/matplotlib/matplotlib/pull/4699。在ax.set_xticks(...) 之后调用ax.set_thetalim(-np.pi, np.pi) 可确保绘制完整的圆。见matplotlib.org/api/…。