在matplotlib极坐标图中,我想将每个单独的θ标签旋转一个不同的角度。但是,我在文档中找不到任何可以这样做的内容。下面是一个简单的图来说明:
from matplotlib import pyplot as plt
import numpy as np
fig = plt.figure()
ax = plt.axes(polar=True)
ax.set_thetalim(0., np.pi/4.)
ax.set_rlim(0., 2.)
# set the size of theta ticklabels (works)
thetatick_locs = np.linspace(0.,45.,4)
thetatick_labels = [u'%i\u00b0'%np.round(x) for x in thetatick_locs]
ax.set_thetagrids(thetatick_locs, thetatick_labels, fontsize=16)
这将在0、15、30和45度处添加标签。我想做的是将15度标签旋转15度,将30度标签旋转30度,依此类推,这样每个标签的文本方向都是径向向外的。由于PolarAxes
实例上的get_xticklabels
似乎得到了theta ticklebels,因此我尝试:
for i,t in enumerate(ax.get_xticklabels()):
t.set_rotation(thetatick_locs[i])
然而,这没有起到任何作用。有没有其他方法可以满足我的要求?总的来说,我发现关于极轴的文档没有矩形轴那么全面,可能是因为很少有人使用它。所以也许已经有办法做到这一点了
您当前的方法适用于笛卡尔坐标系,但对于极坐标系,您可以使用前面介绍的解决方案here。下面我已经为你修改了这个答案。设置θ网格后,可以添加以下代码
相关问题 更多 >
编程相关推荐