matplotlib中legend位置调整

在画一些曲线图 (line charts) 时,常常会出现多条曲线同时画在一张图上面,这时候就需要对不同的曲线进行不同的标注,以使读者能够清晰地知道每条曲线代表的含义。当你画很少的几条曲线时,这时画图命令中自动产生的legend能够基本满足你的需要,此时,你不需要做什么;但当你将很多个曲线画在一张图上时,自动产生的legend矩形框往往会覆盖住已经画出来的曲线,很不美观,这时你就需要写专门的代码对legend的位置进行精确的控制,而不能再依靠系统帮你自动控制了。

本文所讲的就是要解决如何在一张图上画多条曲线时,如何控制legend的位置。当你采用Python中的matplotlib包画图时,采用下面的代码即可控制legend的位置:

plt.legend(loc='upper center', bbox_to_anchor=(0.6,0.95),ncol=3,fancybox=True,shadow=True)

上面bbox_to_anchor被赋予的二元组中,第一个数值用于控制legend的左右移动,值越大越向右边移动,第二个数值用于控制legend的上下移动,值越大,越向上移动。上述示例代码产生的legend样例如下:
这里写图片描述

注:matlab中也可以完成legend位置的调整,也可以手工调整。

你可能感兴趣的:(画图,感悟,Python)