1.多图叠加显示

'''
plt.legend()函数主要的作用就是给图加上图例,plt.legend([x,y,z……])里面的参数使用的是list的的形式将图表的的名称喂给这个函数。
'''
import matplotlib.pyplot as plt

x = [1,2,3,4,5,6,7,8,]
y1 = [1,2,3,4,55,6,6,7]

y2 = [6,20,9,2,5,8,2,8,]

plt.plot(x,y1)
plt.plot(x,y2)

plt.legend(['y1','y2'])
plt.show()

在这里插入图片描述

2.子图绘制

(1)子图的绘制subplot

'''
子图的绘制subplot
'''

import matplotlib.pyplot as plt
import numpy as np

#画板的设置(弹窗窗口大小的设置),如果不设置,则使用的是默认的大小
fig = plt.figure(figsize=(6,4))

#数据的生成

x = np.linspace(0,10,100)
y1 = np.sin(x)
y2 =np.cos(x)

#子图绘制
#绘制子图1
plt.subplot(1,2,1) #画板分为一行两列,f(x)=sinx放在第一列
plt.plot(x,y1)
plt.title('f(x)=sin(x)')

plt.subplot(1,2,2) #画板分为一行两列,f(x)=cosx放在第一列
plt.plot(x,y2)
plt.title('f(x)=cos(x)')

在这里插入图片描述
(2)子图的绘制subplots

'''
子图的绘制subplot
'''

import matplotlib.pyplot as plt
import numpy as np

#画板的设置(弹窗窗口大小的设置),如果不设置,则使用的是默认的大小
fig = plt.figure(figsize=(6,4))

#数据的生成

x = np.linspace(0,10,100)
y1 = np.sin(x)
y2 =np.cos(x)

#子图绘制
#绘制子图1
#subplots函数有两个返回值,一个返回值是图像即画板matplotlib.figure.Figure,
#一个返回值是一个数组,存储的是每一个子图内容。
fig,ax = plt.subplots(2,2)
ax[0][0].plot(x,y1)#绘制f(x)=sinx
ax[0][0].set_title('f(x)=sinx')

ax[0][1].plot(x,y1)#绘制f(x)=cosx
ax[0][1].set_title('f(x)=cosx')

在这里插入图片描述

3.解决坐标轴与title重合问题

若将上面的代码中第二个子图的位置设置为(1,1),运行结果可发现坐标轴和title发生了重合

ax[1][1].plot(x,y1)#绘制f(x)=sinx
ax[1][1].set_title('f(x)=cosx')

在这里插入图片描述

解决上述问题
plt.tight_layout()
tight_layout会自动调整子图参数,使之填充整个图像区域。它仅仅检查坐标轴标签、刻度标签以及标题的部分。
注意:使用tight_layout最好在子图绘制结束后,这样才能调整到最佳位置

ax[0][0].plot(x,y1)#绘制f(x)=sinx
ax[0][0].set_title('f(x)=sinx')

ax[1][1].plot(x,y1)#绘制f(x)=sinx
ax[1][1].set_title('f(x)=cosx')
plt.tight_layout()

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐