pyplot()在交互模式下,有没有办法设置多张图?我想做多张图一起对比
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
path = 'G:\\python\\数据.csv'
# 使用pandas读入
data = pd.read_csv(path,encoding="unicode_escape") #读取文件中所有数据
# 按列分离数据
a= data['shijian'] #读取某两列
b=data['jicunjinshishi']
x=[]
y=[]
# 创建绘制实时损失的动态窗口
plt.ion()
# 创建循环
for i in range(0,len(a)):
if len(x)>8:
del(x[0])
del(y[0])
x.append(a[i])
y.append(b[i])
plt.ylim(395, 398)
plt.xticks(rotation=-45) # 设置x轴标签旋转角度
plt.plot(x, y) # 画出当前x列表和y列表中的值的图形
plt.pause(0.5) # 暂停一段时间,不然画的太快会卡住显示不出来
plt.clf() # 清除之前画的图
plt.ioff() # 关闭画图窗口
交互模式下可以显示多张图
可这样操作:
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
path = 'ts_test.csv'
# 使用pandas读入
data = pd.read_csv(path,encoding="utf-8") # 读取文件中所有数据
# 按列分离数据
#print(data)
a = data['时间点(s)'][:50] # 读取某两列
b = data['CPU使用率(%)'][:50]
x = []
y = []
# 创建绘制实时损失的动态窗口
plt.ion()
fig=plt.figure(figsize=(20,10))
# 创建循环
c=0
for i in range(len(a)):
if len(x) > 5:
del(x[0])
del(y[0])
x.append(a[i])
y.append(b[i])
fig.add_subplot(10,len(a)//10,c+1)
plt.plot(x, y) # 画出当前x列表和y列表中的值的图形
plt.ylim(10, 30)
plt.xticks(rotation=-45, font={'size': 8}) # 设置x轴标签旋转角度
plt.pause(0.5)
#plt.clf() # 清除之前画的图
c+=1
plt.tight_layout()
plt.ioff() # 关闭画图窗口
plt.show()
如有帮助,请点采纳。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!