繁体   English   中英

Matplotlib - 向下移动X轴标签,但不向下移动X轴

[英]Matplotlib - Move X-Axis label downwards, but not X-Axis Ticks

我正在使用Matplotlib绘制直方图。 使用上一个问题的提示: Matplotlib - 标记每个bin ,我或多或少地解决了问题。

最后一个问题 - 先前 - x轴标签(“时间(以毫秒为单位)”)在x轴刻度线下面呈现(0.00,0.04,0.08,0.12等)

无填充 - 图下方的轴标签

使用Joe Kingston的建议(见上面的问题),我尝试使用:

ax.tick_params(axis='x', pad=30)

但是,这会同时移动x轴刻度线(0.00,0.04,0.08,0.12等)以及x轴标签(“时间(以毫秒为单位)”):

30填充 - 轴标签和刻度标记都已移动

有没有办法只将x轴标签移动到三行数字下面?

Nb:您可能需要直接打开下面的PNG - 右键单击​​图像,然后单击查看图像(在FF中),或在新选项卡中打开图像(Chrome)。 由SO完成的图像调整大小使它们几乎不可读

使用labelpad参数:

pl.xlabel("...", labelpad=20)

或者在之后设置:

ax.xaxis.labelpad = 20

如果变量ax.xaxis._autolabelpos = True,则matplotlib根据(一些摘录)在axis.py中的函数_update_label_position中设置标签位置:

    bboxes, bboxes2 = self._get_tick_bboxes(ticks_to_draw, renderer)
    bbox = mtransforms.Bbox.union(bboxes)
    bottom = bbox.y0
    x, y = self.label.get_position()
    self.label.set_position((x, bottom - self.labelpad * self.figure.dpi / 72.0))

您可以使用以下方法独立于刻度设置标签位置:

    ax.xaxis.set_label_coords(x0, y0)

通过更改labelpad参数将_autolabelpos设置为False或如上所述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM