gpt4 book ai didi

python - 在 matplotlib 中更改刻度标签行间距

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:31 24 4
gpt4 key购买 nike

我有一个非常困惑的情节,其中的 y-ticklabels 需要很长。我已经使用 textwrap 将它们包装成多行文本。然而,这使得标签在类别之间重叠(或至少过于接近)。

我无法通过间隔刻度、放大图形、更改字体或缩小文本来解决它。(我已经突破了这些限制)

如我所见,如果我可以将行间距/高度调整为小于字体要求的值,我可以解决并使其工作。

因此,为了简单起见,想象一下以下刻度标签迫切需要更短的行间距/行高:

from matplotlib import pyplot as plt
plt.barh(0.75, 10, height=0.5)
plt.ylim(0, 2)
plt.yticks([1], ["A very long label\nbroken into 2 line"])
plt.subplots_adjust(left=0.3)
plt.show()

我检查了 plt.tick_params()rcParams,但没有找到任何明显的解决方案。我正在使用 latex 来格式化文本,但尝试在刻度标签字符串中使用 \hspace(0.5em} 似乎不起作用/只会让事情变得更糟。

任何关于如何减少行距的建议都将不胜感激。

最佳答案

您可以在 plt.yticks 行中使用 linespacing 关键字。例如:

plt.yticks([1], ["A very long label\nbroken into 2 line"],linespacing=0.5)

您可以使用 linespacing 的确切值来满足您的需要。希望有所帮助。

这是您的代码的原始输出: default line spacing

此处行距为 0.5: enter image description here

关于python - 在 matplotlib 中更改刻度标签行间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com