使用python绘制无边框ECG信号-可用于论文插图-小白版

用python绘制一个心电信号

最近在写大论文,由于自己做的是心电信号难免要做一些心电信号的插图,然后在写论文的时候有的时候要用真实信号有的时候需要用到示意图,这里面的其他部分使用Visio绘制的,但是前面的心电信号部分,如果是写论文截图肯定不是一个好的选择,他一定比插入图片的清晰度要低,如果导入到origin中又有点麻烦,所以我就使用python的心电信号的库结合matplot中的plt中关闭坐标轴显示的方式来打印出一段真实的心电信号,然后后续可以作为插入到论文中的一个素材。

在这里插入图片描述

1.安装pywt库用于生成模拟心电信号

绘制真实的心电信号插图,可能有人想到的就是是不是需要加载一个数据集中的心电信号,然后数据集中的心电信号也不一定是干净的,因此大部分人看别人可能直接画一个示意图就结束了,但是pywt库中,有一段可以直接加载的ecg信号,因此我们可以考虑使用数据库中自带的信号来绘制心电图,或者说也可以后期加载自己的数据库。

直接使用pip命令安装即可

pip install pywt

之后使用pywt中的pywt.data.ecg()来生成一个模拟的心电信号,请添加图片描述
实现的代码如下

import matplotlib.pyplot as plt
import pywtecg = pywt.data.ecg() # 生成心电信号plt.plot(ecg)
plt.show()

2.调整心电信号颜色去掉边框

最终输出的结果是这样的,最后我们只要保存下来就可得到一个无边框的心电信号图像了
在这里插入图片描述
代码如下

import matplotlib.pyplot as plt
import pywtecg = pywt.data.ecg() # 生成心电信号plt.plot(ecg)
plt.plot(ecg,color='black')
# 关闭坐标轴
plt.axis('off')
plt.show()

3.保存图片

保存图片有两种方式一种是直接手动保存,直接点击下面的保存图片即可。
在这里插入图片描述
第二种是在代码里保存,使用plt.savefig(路径+文件名+.jpg/png)保存,如果plt.savefig()中只写文件名字那就是保存在相对路径下,需要将plt.show()替换为plt.savefig('ecg.jpg')
plt.savefig()plt.show()不能同时使用,如果同时使用只会有效一个,例如你先使用plt.show()显示了图片,之后你在想使用plt.show()保存你会发现保存了一张空白图像,这是新手宝宝需要注意的地方

import matplotlib.pyplot as plt
import pywtecg = pywt.data.ecg() # 生成心电信号plt.plot(ecg)
plt.plot(ecg,color='black')
plt.axis('off')
# plt.show()
plt.savefig('ecg.jpg')

保存之后就在目标路径下得到了一张无边框的清晰的心电信号图片
在这里插入图片描述

4.绘制去噪之后的心电信号

心电信号去噪的方式又很多种,包括中值滤波,巴特沃斯,等等,如果你对去噪感兴趣请拜读愚作
心电信号去噪python
在这里我们使用巴特沃斯带通滤波器来获得去噪之后的信号
在这里插入图片描述
代码如下:

import matplotlib.pyplot as plt
import pywt
from scipy import signalecg = pywt.data.ecg() # 生成心电信号def singnal_fliter(data, frequency=256, highpass=20, lowpass=1):[b, a] = signal.butter(3, [lowpass / frequency * 2, highpass / frequency * 2], 'bandpass')Signal_pro = signal.filtfilt(b, a, data)return Signal_proecg = pywt.data.ecg() # 生成心电信号
fliter_ecg = singnal_fliter(ecg)#滤波plt.plot(fliter_ecg,color='black')
plt.axis('off')
# plt.show()
plt.savefig('ecg.jpg')

结束

最后拖到visio里,缩放裁剪随意即可
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/458634.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

医院挂号预约|医院挂号预约小程序|基于微信小程序的医院挂号预约系统设计与实现(源码+数据库+文档)

医院挂号预约小程序目录 目录 基于微信小程序的医院挂号预约系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、小程序用户端 2、系统服务端 (1) 用户管理 (2)医院管理 (3)医生管理 &…

【项目源码】一套基于springboot+Uniapp框架开发的智慧医院3D人体导诊系统源码

智慧医院3D人体导诊系统源码 开发语言:java 开发工具:IDEA 前端框架:Uniapp 后端框架:springboot 数 据 库:mysql 移 动 端:微信小程序、H5 “智慧导诊”以人工智能手段为依托,为人们提供智能分诊、问病信息等服务,在一定程度上满足了人们自我健康管理、精准挂号…

使用Python语言生成区块链地址

# 单次运行 import binascii import sha3 from ecdsa import SigningKey, SECP256k1priv SigningKey.generate(curveSECP256k1) # 生成私钥 pub priv.get_verifying_key() # 生成公钥keccak sha3.keccak_256() keccak.update(pub.to_string()) # keccak_256哈希运算 addr…

Java实现数据可视化的智慧河南大屏 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 A4.2 数据模块 B4.3 数据模块 C4.4 数据模块 D4.5 数据模块 E 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数据可视化的智慧河南大屏,包含了GDP、…

101. 对称二叉树 - 力扣(LeetCode)

题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 题目示例 输入:root [1,2,2,3,4,4,3] 输出:true 解题思路 首先想清楚,判断对称二叉树要比较的是哪两个节点,要比较的可不是左右节点! 对于…

awd总结

总结: 由于是第一次参加AWD比赛,各方面经验都不足,在参赛的前几天也是疯狂搜集各种脚本、框架、工具等,同时也参考b站的视频进行学习,我发现就是还是实操才能更快的学习 我觉得就是我前期的准备工作不足,…

解决SpringBoot官网创建SpringBoot项目但Java版本只能勾选17和21的情况

IDEA页面创建Spring项目,其实是访问spring initializr去创建项目。我们可以通过阿里云国服去间接创建Spring项目。服务器URL地址替换为 https://start.aliyun.com

如何在 emacs 上开始使用 Tree-Sitter (archlinux)

文章目录 如何在emacs上开始使用Tree-Sitter(archlinux) 如何在emacs上开始使用Tree-Sitter(archlinux) 在archlinux上使用比windows上不知道要方便多少倍! $ sudo pacman -S emacs $ sudo pacman -S tree-sitter这里…

C语言:函数递归

创作不易,给个三连吧!! 一、什么是递归 递归式一种解决问题的方法,在C语言中,递归就是自己调用自己。 递归的思想: 把⼀个⼤型复杂问题层层转化为⼀个与原问题相似,但规模较小的⼦问题来求解…

(注解配置AOP)学习Spring的第十七天

基于注解配置的AOP 来看注解式开发 : 先把目标与通知放到Spring里管理 : Service("userService") public class UserServiceImpl implements UserService {Overridepublic void show1() {System.out.println("show1......");}Overridepublic void show2…

CTF-PWN-堆-【chunk extend/overlapping-2】(hack.lu ctf 2015 bookstore)

文章目录 hack.lu ctf 2015 bookstore检查IDA源码main函数edit_notedelete_notesubmit .fini_array段劫持(回到main函数的方法) 思路格式化字符串是啥呢0x开头或者没有0x开头的十六进制的字符串或字节的转换为整数构造格式化字符串的其他方法 exp 佛系getshell 常规getshell ha…

Onlyfans年龄验证/无法支付等问题解决方案

很多用户在Onlyfans绑卡时,出现了地址、年龄验证、无法支付等各种问题。出现这个问题的原因,一是用国内邮箱注册了,二是绑卡时的IP有问题,会导致出现年龄验证、无法支付 Onlyfans 等问题。准备工作:WildCard账户&#…