当前位置: 首页 > article >正文

Pycharm中使用matplotlib绘制动态图形

Pycharm中使用matplotlib绘制动态图形

  • 最终效果

最近用pycharm学习D2L时发现官方在jupyter notebook交互式环境中能动态绘制图形,但是在pycharm脚本环境中只会在最终 plt.show() 后输出一张静态图像。于是有了下面这段自己折腾了一下午的代码,用来在pycharm中模仿jupyter交互式环境的动态绘制图像:

import matplotlib
import matplotlib.pyplot as plt
from IPython.display import display, clear_output
import time

matplotlib.use('Qt5Agg')
plt.ion()
fig, ax = plt.subplots()
ax.set_title("ECG Signal")
plt.xlabel("time: s")
plt.ylabel("voltage")
#############################
# 1:直接绘制完整波形:
# ax.plot(signal)
# ax.legend(["MLII", "V5"])
# plt.show()
#############################
# 2:随时间动态输出波形:
y1 = []
y2 = []
t = []
sr = 360  # 采样率
plt.xticks(range(0, len(signal) // sr + 1))
for n in range(len(signal)):
    y1.append(signal[n, 0])
    y2.append(signal[n, 1])
    t.append(n / sr)
    if (n + 1) % 10 == 0 or (n + 1) == len(signal):
        time.sleep(0.01)
        ax.plot(t, y1, "-", color='deepskyblue', linewidth=1)      
        clear_output(wait=True)
        display(fig)
        plt.pause(0.01)
ax.legend(["MLII", "V5"])
plt.show()



最终效果

在这里插入图片描述


http://www.kler.cn/a/152346.html

相关文章:

  • Electron+Ts+Vue+Vite桌面应用系列:sqlite增删改查操作篇
  • Flutter应用程序的加固原理
  • 一些小笔记(Delphi)
  • cephadm部署ceph quincy版本,使用ceph-csi连接
  • [读论文][跑代码]BK-SDM: A Lightweight, Fast, and Cheap Version of Stable Diffusion
  • 设计模式总目录
  • 17.PIL报错`AttributeError: module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘`
  • NX二次开发UF_MTX2_copy 函数介绍
  • 数学建模-基于脑出血患者院前指标的多种机器学习预测模型构建及比较研究
  • 双向ESD保护 汽车级TVS二极管 ESD9B3.3ST5G工作原理、特性参数、封装形式
  • 数据结构-04-队列
  • 单片机AVR单片机病房控制系统设计+源程序
  • 阶段三:Web开发(学习如何使用Cookie和Session进行用户认证)
  • POJ P1088动规的三种解法
  • Android系统源码中添加可编译运行执行程序,java
  • 使用 TypeScript 改进异步操作和错误处理的策略
  • 【上海大学数字逻辑实验报告】一、基本门电路
  • 【虚拟机】Docker基础 【二】
  • EI级 | Matlab实现TCN-LSTM-Multihead-Attention多头注意力机制多变量时间序列预测
  • WP采集插件的进阶功能:输入关键词采集及定向采集实现精准筛选