首页 >后端开发 >Python教程 >如何在 Matplotlib 中将旋转的 xticklabels 与刻度对齐?

如何在 Matplotlib 中将旋转的 xticklabels 与刻度对齐?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-30 10:33:02802浏览

How to Align Rotated xticklabels with Ticks in Matplotlib?

将旋转的 xticklabel 与刻度对齐

使用 ax.set_xticklabels(xlabels,rotation=45) 旋转 xticklabel 时,旋转轴默认为标签文本的中心。这可能会导致刻度线错位,对于长标签尤其明显。要解决这个问题,您可以调整标签的水平对齐方式。

ax.set_xticklabels 中的 ha 参数允许您设置标签文本的水平对齐方式。选项有“左”、“中”和“右”。通过设置 ha='right',您可以将标签框的右边缘与刻度点对齐。

考虑以下代码片段:

<code class="python">import matplotlib.pyplot as plt
import numpy as np

n = 5
x = np.arange(n)
y = np.sin(np.linspace(-3, 3, n))
xlabels = ['Ticklabel %i' % i for i in range(n)]

fig, axs = plt.subplots(1, 3, figsize=(12, 3))

ha = ['right', 'center', 'left']

for n, ax in enumerate(axs):
    ax.plot(x, y, 'o-')
    ax.set_title(ha[n])
    ax.set_xticks(x)
    ax.set_xticklabels(xlabels, rotation=40, ha=ha[n])

plt.show()</code>

结果图演示了如何标签根据指定的水平对齐方式与刻度位置对齐。

以上是如何在 Matplotlib 中将旋转的 xticklabels 与刻度对齐?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn