如何将 matplotlib 图形的 `ylabel` 拆分成多行?

9

如何将 matplotlib 图形的 ylabel 分成多行? 我想保持 ylabel 在 y 轴上旋转。 例如,这是我子图的示例,其相关代码如下:

plt.ylabel('Spacing of Zeroes of $J_{\\nu}(x)$', rotation=0)

当我尝试执行以下操作时:

plt.ylabel('Spacing of Zeroes of $J_{\\nu}(x)$', rotation=0, ncol=2)

我收到了这个错误信息:
AttributeError: Unknown property ncol

我不确定 columnate 是否是一个单词,但如果是的话,我不理解它的含义。另外,为什么你想要在 x 轴上有 ylabel? - ImportanceOfBeingErnest
通过列分隔,我指的是将标签分成两列,我的目标是在不留下左侧大量空白的情况下适应纵轴标签。我在x轴上的纵轴标签是一个打字错误,我想表达的是y轴。 - user7345804
我还是不明白。如果你有一列长度为N的字符串,将其分成两列,每列长度为N/2,结果将会是两列,但字符串的宽度仍然是N/2+N/2=N。 - ImportanceOfBeingErnest
你说得对。我需要行,而不是列。真不敢相信我居然错过了这个,感谢你指出来。 - user7345804
2个回答

13

我的建议是在字符串中引入换行符。

plt.ylabel('Spacing of\nZeroes of\n$J_{\\nu}(x)$', rotation=0, ha="right")

输入图像描述


那很简单而且完美!另外我可以选择它分割的位置。谢谢。 - user7345804

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接