从轴偏移matplotlib`ticklabels`

时间:2016-09-28 10:17:13

标签: python matplotlib

在使用polar=True的一些(相当小的)数字中,ticklabels与轴重叠。例如:

import numpy as np
import matplotlib.pylab as pl

fig = pl.figure(figsize=[2,2])
fig.subplots_adjust(0.2, 0.2, 0.8, 0.8)
ax = pl.subplot(111, polar=True)
ax.set_yticks([])

创建:

enter image description here

是否可以在轴和标签之间设置偏移,即向左移动180,向右移动0,等等?我更喜欢按subplot设置它,因为我在同一个图中有一些其他subplots不需要ticklabel偏移量。

1 个答案:

答案 0 :(得分:0)

您正在寻找set_thetagrids类的PolarAxes方法,除了允许您定义theta坐标网格的属性外,还可以通过缩放设置刻度标签的径向偏移frac参数。有关详细信息,请参阅docs。以下是相同字体和图形大小的修改示例:

import numpy as np
import matplotlib.pylab as pl

fig = pl.figure(figsize=[2,2])
fig.subplots_adjust(0.2, 0.2, 0.8, 0.8)
ax = pl.subplot(111, polar=True)

# if you want to preserve the old tick degrees
old_ticks = ax.xaxis.get_ticklocs() / np.pi * 180
ax.set_thetagrids(old_ticks, frac=1.3)
ax.set_yticks([])
pl.show()

polar ticks

编辑:OP评论部分中由@nostradamus链接的answer比我自己更详细。我建议看看它。