如何在matplotlib中对齐y轴刻度标签左对齐?

时间:2021-07-03 08:57:23

标签: matplotlib

如何在 matplotlib 中对齐 y 轴刻度标签左对齐?

下面的第一个答案在这一行给出了渲染器错误: Matplotlib: Aligning y-ticks to the left

pad = max(T.label.get_window_extent().width for T in yax.majorTicks) 

下面的第二个答案使用依赖于输入的 text,对于每个 yticklabels 列表,您必须首先找到最佳的 x 位置,然后才能使用。因此,它不是自动化代码的解决方案。

How do you align tick labels in matplotlib?

这是重现问题的代码:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(1,1)

ax.plot([0,.25,.5, 1], [0,1,2,3])
ticklabels = ax.get_xticklabels()
ax.set_yticks([0, 1, 2, 3])
yticklabels = []
for i in ['xxxxxxxx', 'yyy', 'zzzzzzzzzzzzz', 'ttttt']:
    yticklabels.append(f"{i:<15}")

print(yticklabels)
ax.set_yticklabels(yticklabels )
plt.show()

enter image description here

0 个答案:

没有答案