在matplotlib中正确对齐标签

Bor*_*lik 2 python matplotlib

我不喜欢Y轴的垂直标签.因此,我倾向于:

plt.ylabel('horizontal label', 
      rotation=0)
Run Code Online (Sandbox Code Playgroud)

这导致一个很好的标签:

单行标签

但是,如果所需标签包含多行,则结果不是最理想的:

plt.ylabel('horizontal\nmultiline label', 
     rotation=0, ha='right')
Run Code Online (Sandbox Code Playgroud)

多行标签

改为ha='left'不做正确的工作

坏对齐

有没有一种简单的方法来实现这一目标:

在此输入图像描述

ali*_*i_m 7

您可以使用multialignment(ma=)参数:

set_multialignment(align)

设置多行布局的对齐方式.所有行的边界框的布局由horizontalalignmentverticalalignment属性确定,但该框中的多行文本可以是

ACCEPTS:['left'| '对'| '中央' ]

plt.ylabel('horizontal\nmultiline label', ha='right', va='center', ma='left',
           rotation=0)
plt.tight_layout()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述