ha和va参数
在matplotlib轴标签对其经常用的参数是ha和va。分别是调节水平和垂直对齐的:
Horizontal alignment must be one of ('center', 'right', 'left')
Vertical alignment must be one of ('top', 'bottom', 'center', 'baseline', 'center_baseline')
水平轴和垂直轴的va和ha控制的方向是的不同。总的来说,我们要一个‘右手定则’来判断,那个方向是水平或者是竖直:也就是轴的箭头或者说数字正无穷的方向始终朝向右方,那么左右方向上的对齐是由ha控制的,而上下方向的对齐是va控制的。
ha
这个对齐比较好理解,如果选择right,轴标签会向着轴正无穷的方向偏移一些,left恰好相反,而center就是标签处于轴的正中间,对于ha来说,center是最常用的属性。
va
这个属性的对其,总的来说,效果是控制标签离轴的远近。下面分为水平轴x以及垂直轴y来说,
垂直轴
从上图,我们可以总结一下,top属性离轴最近,其次是center,然后是baseline和center_baseline,这两个效果上区别好像是不明显,bottom最远。
所以当我们发现默认的label的位置不理想的时候,我们可以通过我们想要的远离或者是接近的趋势而选定参数
水平轴
也不多说,直接上图:
从图上看,top离轴是最远的。最近的是bottom,中间的是center。这个水平轴的情况跟垂直轴恰好相反。而baseline和center_baseline肯定是中间的,所以没有测试
其他设定轴标签的方法
ticklabel本质上是ax.text这个对象,是一种无指示箭头的注释文本,所以我们可以直接利用ax.text来实现对轴标签的位置,颜色以及文字朝向等精细的控制,不过比较耗时间。