在matplotlib中的极坐标图上移动径向刻度标签

时间:2015-04-01 15:14:37

标签: python matplotlib polar-coordinates

来自matplotlib examples

import numpy as np
import seaborn as sbs
import matplotlib.pyplot as plt

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

ax = plt.subplot(111, polar=True)
ax.plot(theta, r, color='r', linewidth=3)
ax.set_rmax(2.0)
ax.grid(True)

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

polar plot

如何将径向刻度标签(0.5,1.0,1.5,2.0)移动到不同的角度,比如120度?

2 个答案:

答案 0 :(得分:12)

使用1.4或更高版本,您可以使用" set_rlabel_position"。例如将径向刻度线放在一条长线上,比如135度:

ax.set_rlabel_position(135)

相关文档位于here,有点隐藏在"投影"。

添加上面的行会产生(我没有seaborn所以这有默认的matplotlib格式):

polar axis example ticks at 135 degrees

在1.4之前,ax.set_rgrids可以采用角度参数。

答案 1 :(得分:1)

我尝试使用@ alkamid的回复编辑来运行示例代码,但最终以错误结束

AttributeError: 'PolarAxesSubplot' object has no attribute 'set_rlabel_position'

我的matplotlib版本是1.3.1。但是我用以下代码行找到了这个答案python matplolib polar chart x-axis label position

ax.set_rgrids([5,10], angle=22)

这对我有用,并产生了想要的输出。