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

How do you reverse the axis and set the zero position for a polar plot in Matplotlib?

使用Matplotlib的极坐标图时,theta轴默认零位为或向右,角度逆时针递增,如this example.

如何指定零位和反转增加theta的方向?在撰写本文时,documentation 相对有限。

轴方法 set_theta_zero_locationset_theta_direction 允许您分别指定零位置和增加 theta 的方向。这是 Matplotlib example.

的修改版本
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()

请注意,对于 quiverplot,这些方法目前产生 strange results (see GitHub issue)