如何在 Matplotlib 中反转轴并设置极坐标图的零位置?

Ste*_*ell 8 python matplotlib polar-coordinates

使用 Matplotlib 的极坐标图时,theta 轴的默认零位置是或向右,角度逆时针增加,如本例所示。

在此输入图像描述

如何指定零位置并反转 theta 增加的方向?截至撰写本文时,文档相对有限。

Ste*_*ell 11

axis 方法set_theta_zero_locationset_theta_direction允许您分别指定零位置和增加 theta 的方向。这是Matplotlib 示例的修改版本。

import numpy as np
import matplotlib.pyplot as plt

r = np.arange(0, 2, 0.01)
theta = 2 * np.pi * r

ax = plt.subplot(111, projection='polar')
ax.plot(theta, r)
ax.set_rmax(2)
ax.set_rticks([0.5, 1, 1.5, 2])  # less radial ticks
ax.set_rlabel_position(-22.5)  # get radial labels away from plotted line
ax.grid(True)

# ---- mod here ---- #
ax.set_theta_zero_location("N")  # theta=0 at the top
ax.set_theta_direction(-1)  # theta increasing clockwise
# ---- mod here ---- #

ax.set_title("A line plot on a polar axis", va='bottom')
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

请注意,对于 quiverplot,这些方法目前会产生奇怪的结果(请参阅 GitHub 问题)