如何在浮动圆柱轴上旋转刻度标签?

时间:2016-10-10 17:56:13

标签: python matplotlib plot

http://matplotlib.org/mpl_toolkits/axes_grid/users/overview.html

查看此链接的非常底部。我对中间的轴感兴趣,轴对象弯曲成四分之一垫圈的形状。如果检查源代码,则此轴对象由setup_axes2:

生成
def setup_axes2(fig, rect):
"""
With custom locator and formatter.
Note that the extreme values are swapped.
"""
tr = PolarAxes.PolarTransform()

pi = np.pi
angle_ticks = [(0, r"$0$"),
           (.25*pi, r"$\frac{1}{4}\pi$"),
           (.5*pi, r"$\frac{1}{2}\pi$")]
grid_locator1 = FixedLocator([v for v, s in angle_ticks])
tick_formatter1 = DictFormatter(dict(angle_ticks))

grid_locator2 = MaxNLocator(2)

grid_helper = floating_axes.GridHelperCurveLinear(
    tr, extremes=(.5*pi, 0, 2, 1),
    grid_locator1=grid_locator1,
    grid_locator2=grid_locator2,
    tick_formatter1=tick_formatter1,
    tick_formatter2=None)

ax1 = floating_axes.FloatingSubplot(fig, rect, grid_helper=grid_helper)
fig.add_subplot(ax1)

# create a parasite axes whose transData in RA, cz
aux_ax = ax1.get_aux_axes(tr)

aux_ax.patch = ax1.patch  # for aux_ax to have a clip path as in ax
ax1.patch.zorder = 0.9  # but this has a side effect that the patch is
# drawn twice, and possibly over some other
# artists. So, we decrease the zorder a bit to
# prevent this.

return ax1, aux_ax

当我在theta轴上标记刻度时,标签总是颠倒的。我不知道如何翻转它们。我也不知道如何颠倒轴标签。有谁知道这些令人困惑的浮动轴?

1 个答案:

答案 0 :(得分:1)

提示位于您链接的示例的setup_axes3()中。 FloatingSubplot中的各个轴被称为ax.axis[side],其中side["top","bottom","left","right"]之一。从那里你得到平常。

ax = ax2.axis["bottom"]
ax.major_ticklabels.set_rotation(180)
ax.set_label("foo")
ax.label.set_rotation(180)
ax.LABELPAD += 10

只需dir(ax)查看您有权访问的内容。

enter image description here