echarts心电图封装方法

news2025/4/2 18:58:07

效果图

在这里插入图片描述

代码

<div id="line1" style="width: 100%;height: 100px;"></div>
// 生成图标方法
/**
 * 生成图表
 * @param {array} cData 图表数据
 * @param {string} home 图表渲染位置Id
 * @param {number} speed 刷新速度 值越大,刷新速度越快
 * @param {string} lineColor 线条颜色
 * @param {number} eraseWidth 擦除宽度
 * 
 * @returns {object} 最终将chart保存到哪一个变量中
 */
const generateChart = (cData, home, speed, lineColor, eraseWidth) => {
    const chartDom = document.getElementById(home);
    let myChart = echarts.init(chartDom);
    let option;
    // 初始数据截取位置
    let splitPointer = 0;
    // 前后两条线之间的距离
    const EraseWindow = eraseWidth;
    let counter = 0;
    // 根据数据生成随机数据(这里的数据后续需要从后端获取,现在这里仅为测试用)
    const randomData = () => {
        let value = cData[counter % cData.length];
        counter++;
        return {
            name: counter % cData.length,
            value: [counter % cData.length, Math.round(value)]
        };
    }
    let data = [];
    for (var i = 0; i < cData.length; i++) {
        data.push(randomData());
    }
    option = {
        grid: {
            top: 0,
            left: 10,
            right: -80,
            bottom: 0,
        },
        xAxis: {
            type: 'value',
            show: false
        },
        yAxis: {
            type: 'value',
            show: false
        },
        series: [
            {
                name: '1',
                type: 'line',
                showSymbol: false,
                hoverAnimation: false,
                data: data,
                lineStyle: {
                    color: lineColor
                }
            },
            {
                name: '1',
                type: 'line',
                showSymbol: false,
                hoverAnimation: false,
                data: data,
                lineStyle: {
                    color: lineColor
                }
            }
        ]
    };
    // 定时刷新数据
    setInterval(function () {
        splitPointer = data.length - (counter % data.length);
        splitPointer = data.length - splitPointer;
        var p1 = data.slice(0, splitPointer);
        var p2 = data.slice(splitPointer + EraseWindow);
        p2.pop();
        // 影响视觉效果的速度 值越大,速度越快
        counter += speed;
        myChart.setOption({
            series: [
                {
                    data: p1
                },
                {
                    data: p2
                }
            ]
        });
    }, 1);
    option && myChart.setOption(option);
    return myChart;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Linux创作第一个小程序--进度条

Linux第一个小程序 - 进度条 储备知识 1.回车换行 回车概念 \r 换行概念 \n 2.缓冲区 sleep 先执行1 后执行2&#xff08;c语言中是按顺序执行的&#xff09; 那么在我sleep期间&#xff0c;“Hello World”一定是被保存起来了&#xff08;缓冲区&#xff09;。 缓冲区&a…

初识LLMs

目录 一、Language AI 历史 二、Language AI如何处理text 三、技术一&#xff1a;Bag-of-Words模型 缺点 四、技术二&#xff1a;word2vec&#xff08;稠密向量 / 嵌入向量&#xff09; 缺点 五、嵌入的多种形式 六、技术三&#xff1a;注意力机制 6.1 上下文嵌入 缺…

SpringAI系列 - RAG篇(三) - ETL

目录 一、引言二、组件说明三、集成示例一、引言 接下来我们介绍ETL框架,该框架对应我们之前提到的阶段1:ETL,主要负责知识的提取和管理。ETL 框架是检索增强生成(RAG)数据处理的核心,其将原始数据源转换为结构化向量并进行存储,确保数据以最佳格式供 AI 模型检索。 …

leetcode:942. 增减字符串匹配(python3解法)

难度&#xff1a;简单 由范围 [0,n] 内所有整数组成的 n 1 个整数的排列序列可以表示为长度为 n 的字符串 s &#xff0c;其中: 如果 perm[i] < perm[i 1] &#xff0c;那么 s[i] I 如果 perm[i] > perm[i 1] &#xff0c;那么 s[i] D 给定一个字符串 s &#xff0…

【智驭未来】使用Deepseek进行业务系统集成场景分析

DeepSeek已经出来了一段时间&#xff0c;各系统厂商纷纷加入对他的支持行列&#xff0c;有使用他来进行数据智能预测分析的&#xff0c;有使用他来进行系统知识智能问答的&#xff0c;有进行多语言处理和文档智能解析的&#xff0c;也有开发工具支持AI代码生成的。根据厂商产品…

探秘Transformer系列之(3)---数据处理

探秘Transformer系列之&#xff08;3&#xff09;—数据处理 接下来三篇偏重于工程&#xff0c;内容略少&#xff0c;大家可以当作甜点 _。 0x00 概要 有研究人员认为&#xff0c;大模型的认知框架看起来十分接近卡尔弗里斯顿(Karl Friston)描绘的贝叶斯大脑。基于贝叶斯概率…

cesium视频投影

先看效果 使用cesium做视频投影效果&#xff0c;而且还要跟随无人机移动而移动&#xff0c;我现在用定时器更新无人机的坐标来实现效果具体代码如下&#xff1a; 1、CesiumVideo3d.js(某个cesium技术群大佬分享的) // import ECEF from "./CoordinateTranslate"; le…

[算法学习笔记]1. 枚举与暴力

一、枚举算法 定义 枚举是基于已有知识来猜测答案的问题求解策略。即在已知可能答案的范围内&#xff0c;通过逐一尝试寻找符合条件的解。 2. 核心思想 穷举验证&#xff1a;对可能答案集合中的每一个元素进行尝试终止条件&#xff1a;找到满足条件的解&#xff0c;或遍历完…

Burp Suite基本使用(web安全)

工具介绍 在网络安全的领域&#xff0c;你是否听说过抓包&#xff0c;挖掘漏洞等一系列的词汇&#xff0c;这篇文章将带你了解漏洞挖掘的热门工具——Burp Suite的使用。 Burp Suite是一款由PortSwigger Web Security公司开发的集成化Web应用安全检测工具&#xff0c;它主要用于…

RabbitMQ 3.12.2:单节点与集群部署实战指南

前言&#xff1a;在当今的分布式系统架构中&#xff0c;消息队列已经成为不可或缺的组件之一。它不仅能够实现服务之间的解耦&#xff0c;还能有效提升系统的可扩展性和可靠性。RabbitMQ 作为一款功能强大且广泛使用的开源消息中间件&#xff0c;凭借其高可用性、灵活的路由策略…

【故障处理】- 11G expdp导出缓慢 + Streams AQ: enqueue blocked on low memory等待事件

【故障处理】- 11G expdp导出缓慢 Streams AQ: enqueue blocked on low memory等待事件 一、概述二、故障原因三、解决方法 一、概述 该问题的数据库版本是11.2.0.4&#xff0c;执行expdp导出的时候&#xff0c;小表导出非常缓慢&#xff0c;同时有Streams AQ: enqueue blocke…

《仙台有树》里的馅料(序)

《仙台有树》一起追剧吧&#xff08;二&#xff09;&#xff1a;馅料合集概览 ●德爱武美玩&#xff0c;全面发展 ●猜猜我是谁&真假美清歌 ●失忆的风还是吹到了仙台 ●霸道师徒强制收&你拜我&#xff0c;我拜你&#xff0c;师徒徒师甜蜜蜜 ●霸道总裁强制爱 ●仙台有…

【Linux】文件系统:文件fd

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;linux笔记仓 目录 01.回顾C文件接口02.系统文件I/O02.1 openflags 参数&#xff08;文件打开模式&#xff09;标记位传参1. 访问模式&#xff08;必须指定一个&#xff09;2. 额外控制标志&#xf…

电脑系统损坏,备份文件

一、工具准备 1.U盘&#xff1a;8G以上就够用&#xff0c;注意会格式化U盘&#xff0c;提前备份U盘内容 2.电脑&#xff1a;下载Windows系统并进行启动盘制作 二、Windows启动盘制作 1.微软官网下载启动盘制作工具微软官网下载启动盘制作工具https://www.microsoft.com/zh-c…

Python网络运维自动化:从零开始学习NetDevOps

零基础入门NetDevOps&#xff0c;让网络运维更简单、更高效。 Python网络运维自动化 1.从理论到实战&#xff1a;从基础理论入手&#xff0c;通过实战案例教学&#xff0c;手把手教读者掌握Python网络运维自动化&#xff0c;解决运维工作中的日常问题&#xff0c;提升运维效率…

公网远程家里局域网电脑过程详细记录,包含设置路由器。

由于从校内迁居小区,校内需要远程控制访问小区内个人电脑,于是早些时间刚好自己是电信宽带,可以申请公网ipv4不需要花钱,所以就打电话直接申请即可,申请成功后访问光猫设备管理界面192.168.1.1,输入用户名密码登录超管(密码是网上查下就有了)设置了光猫为桥接模式,然后…

网络安全示意图 网络安全路线图

其实网络安全本身的知识点并不算难&#xff0c;但需要学的东西比较多&#xff0c;如果想要从事网络安全领域&#xff0c;肯定是需要系统、全面地掌握清楚需要用到的技能的。 自学的方式基本是通过看视频或者相关的书籍&#xff0c;不论是什么方法&#xff0c;都是很难的&#…

【多线程异步和MQ有什么区别?】

多线程异步和MQ有什么区别? 多线程异步MQ(消息队列)多线程异步与MQ的区别多线程异步 概念: 多线程异步是指在单个应用程序内部创建和管理多个线程,这些线程并行处理任务。 多线程主要用于提升应用程序的性能,特别是在处理计算密集型任务(如科学计算、图像处理、数据分…

Annie导航2.0 新增加5个模版 开源免授权

新增5个模版 修复部分模版样式问题 采用最新技术tinkphp8.0 php8.1 mysql5.7 Funadmin框架 后台一键式统计访问人数 网站设置 分类设置 网站管理 工具管理 友情链接 广告管理 [color=var(–comiis-color)]联系方式 主题管理 配置多套模版随意切换 已更新市面上热门的几个模版

Spring AI发布!让Java紧跟AI赛道!

1. 序言 在当今技术发展的背景下&#xff0c;人工智能&#xff08;AI&#xff09;已经成为各行各业中不可忽视的重要技术。无论是在互联网公司&#xff0c;还是传统行业&#xff0c;AI技术的应用都在大幅提升效率、降低成本、推动创新。从智能客服到个性化推荐&#xff0c;从语…