如何在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(用“ $”括起来)和换行符,这一点很重要。
Answers:
您的示例就是使用它的方式\n
。您需要删除r前缀,但python不会将其视为原始字符串
ylabel('this is vertical\ntest', multialignment='center')
来自matplotlib.org/examples/pylab_examples/multiline.html
rcParams["text.usetex"] = True
您可以两全其美: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"
)的字符串。
r"$\alpha$ : {0} " "\n" r"$\beta$ : {1}".format(a, b)
xlabel('$\\Sigma$')