沉浸020903 2022-05-21 10:56 采纳率: 78.9%
浏览 21
已结题

pyplot()在交互模式下,有没有办法设置多张图?

问题遇到的现象和发生背景

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()  # 关闭画图窗口


运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

交互模式下可以显示多张图

  • 写回答

3条回答 默认 最新

  • CSDN专家-HGJ 2022-05-21 21:27
    关注

    可这样操作:

    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()

    如有帮助,请点采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月30日
  • 已采纳回答 5月22日
  • 创建了问题 5月21日

悬赏问题

  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档