如何在matplotlib中为图表的标签添加换行符(例如xlabel或ylabel)?例如,
plt.bar([1, 2], [4, 5])
plt.xlabel("My x label")
plt.ylabel(r"My long label with $\Sigma_{C}$ math \n continues here")
理想情况下,我希望y标签也是居中的。有没有办法做到这一点?标签同时包含TeX(用'$'括起来)和换行符很重要。
答案 0 :(得分:85)
您可以充分利用这两个方面:自动“转义”LaTeX命令和换行符:
plt.ylabel(r"My long label with unescaped {\LaTeX} $\Sigma_{C}$ math"
"\n" # Newline: the backslash is interpreted as usual
r"continues here with $\pi$")
(而不是使用三行,用单个空格分隔字符串是另一种选择)。
实际上,Python会自动连接彼此跟随的字符串文字,您可以将原始字符串(r"…"
)和字符串与字符插值("\n"
)混合。
答案 1 :(得分:28)
您的示例正是如何完成的,您使用\n
。您需要取消r前缀,因此python不会将其视为原始字符串
答案 2 :(得分:10)
plt.bar([1, 2], [4, 5])
plt.xlabel("My x label")
plt.ylabel(r"My long label with $\Sigma_{C}$ math" + "\n" + "continues here")
只需将字符串与原始字符串形式的换行符连接即可。
答案 3 :(得分:2)
以下matplotlib python脚本使用新行
创建文本ax.text(10, 70, 'shock size \n $n-n_{fd}$')
以下没有新行。注意文本
之前的rax.text(10, 70, r'shock size \n $n-n_{fd}$')