dei*_*aur 5 python formatting latex matplotlib
我有一个非常混乱的情节,带有需要很长的 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()
Run Code Online (Sandbox Code Playgroud)
我检查plt.tick_params()了rcParams没有找到任何明显的解决方案。我正在使用乳胶来格式化文本,但尝试\hspace(0.5em}在刻度标签字符串中使用似乎不起作用/只会让事情变得更糟。
关于如何减少行距的任何建议将不胜感激。
linespacing您可以在行中使用关键字plt.yticks。例如:
plt.yticks([1], ["A very long label\nbroken into 2 line"],linespacing=0.5)
Run Code Online (Sandbox Code Playgroud)
您可以使用 的确切值linespacing来满足您的需求。希望有帮助。
这是代码的原始输出:

这里的行距为 0.5:
