matplotlib调整图例 legend 的位置,调整标题 title 位置(像素级别调节,可以调整到图像内部,figure内部)

一、标题调整

1.使用常规方法调整标题位置

1.1常规方法使用loc只能调整标题在图中上部的左、中、右位置,使用的代码如:

plt.title("title",loc='left')
import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[2,4,6,8,10]
loc_select=['left','center','right']
fig=plt.figure(figsize=(9,3),dpi=300)
for i in range(0,3,1):
    number=i+1
    plt.subplot(3,3,number)
    plt.plot(x,y)
    plt.title(loc_select[i],loc=loc_select[i])
plt.show()

在这里插入图片描述

2.灵活调整标题显示在图中的任何位置

2.1还有一种比较灵活的方法,就是利用相对位置的概念,比如:

plt.title("title",x=0,y=0)

2.2这里x=0,y=0表示原点位置,所以title会显示在原点位置,见完整代码:

import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.plot(x,y)
plt.title("title",x=0,y=0)
plt.show()

在这里插入图片描述

2.3那么通过调整x与y的值就可以将title放在图中的任何位置。

import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[2,4,6,8,10]
loc_value=[-1,0,1]
fig=plt.figure(figsize=(9,3),dpi=300)
for i in range(0,3,1):
    number=i+1
    plt.subplot(3,3,number)
    plt.plot(x,y)
    plt.title('x='+str(loc_value[i])+','+'y=1',x=loc_value[i])#改变位置x时,默认位置y取1位置
plt.show()

在这里插入图片描述

二、图例调整

1. 可以legend 下的locbbox_to_anchor参数对图例的位置进行调整:

plt.legend(loc='String or Number', bbox_to_anchor=(num1, num2))
  • loc参数遵循以下的表格:
    在这里插入图片描述
  • 在图中的位置如下图所示:
    在这里插入图片描述

2. 如果loc可以满足要求,那么可以不用第二个参数。

第二个参数 bbox_to_anchor 被赋予的二元组中,num1 用于控制 legend 的左右移动值越大越向右边移动num2 用于控制 legend 的上下移动,值越大,越向上移动。用于微调图例的位置。

plt.legend(lab, loc='upper left', bbox_to_anchor=(0.08, 1))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45277161/article/details/131696511