在做一些行业数据处理时,有时候,需要对数据加工处理,生成坐标图或者类似心跳的曲线图,例如在做医院项目时,会让你根据机器监测到的数据,生成心跳曲线图,如下所示:

这个图是使用Java 的Graphics2D类画出来的,主要的难点是数据坐标的转换,因为Java的Graphics2D类默认的原点坐标是在左上角,而我们正常的需要是左下角。我这国抽象提取出了一个方便的画此图的组件,使用的时候,只需要填写一下配置参数即可生成如上图所示的图片:

    public static void main(String[] args) throws IOException {HeartDataImgParam param = new HeartDataImgParam();param.setImgWidth(800);param.setImgHeight(300);param.setX_name("产生时间");param.setY_name("目标变化值");Point[] points = new Point[30];// 构造测试数据int maxValue = 2000;for (int i = 0; i < points.length; i++) {Point point = new Point(i, RandomUtils.nextInt(100, maxValue));points[i] = point;}param.setDataPoint(points);Point maxPoint = new Point(points.length, maxValue);param.setMaxPoint(maxPoint);param.setY_segment(100);param.setX_segment(1);param.setPadding(50);param.setImgPath("D:\\eclipse-project\\HeartImageProject\\config\\heart.jpeg");param.setImgFormat("JPEG");param.setShowPoint(false);HeartDataImgManager heartDataImgManager = new HeartDataImgManager(param);heartDataImgManager.createHeartDataImg();}

详细的配置参数是:


/*** 心跳图生成参数*/
@Data
public class HeartDataImgParam {/*** 生成的图片宽度*/private int imgWidth;/*** 生成的图片高度*/private int imgHeight;/*** 数据坐标点,x是横坐标,y是纵坐标,即实际要显示的数据对*/private Point[] dataPoint;/*** 最大坐标点*/private Point maxPoint;/*** 横坐标的名字*/private String x_name;/*** 横坐标的名字*/private String y_name;/*** x轴上每个线段距离代表的数值*/private int x_segment;/*** y轴上每个线段代表的数值*/private int y_segment;/*** 空白间距*/private int padding = 10;/*** 生成曲线图的路径*/private String imgPath;/*** 默认图片格式是JPEG*/private String imgFormat = "JPEG";/*** 是否显示坐中点的坐标值*/private boolean showPoint = false;}

也可以修改参数,显示坐标点,只需要将showPoint 设置为true即可,生成的图片是:

源码下载地址:https://download.csdn.net/download/wgslucky/85265543

JAVA生成心跳曲线图相关推荐

  1. java生成报表(excel表格)的另类方法

    众所周知,java生成报表的工具jfree,能生成各种图表图形,可是今天说的是要生成一个表格形式的报表. 其实这也简单,表格首推excel文档,只要模板确定,数据填充不是问题,excel操作不是问题, ...

  2. java生成缩略图类源码

    把做工程过程比较好的一些内容备份一下,如下内容段是关于 java生成缩略图类的内容. package com.whatycms.common.util; import java.awt.image.B ...

  3. java 生成二维码 QRCode、zxing 两种方式

    版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢. https://blog.csdn.net/testcs_dn/article/details/ ...

  4. 超详细的java生成excel文件并下载

    在网上随手一搜,可以搜到很多java生成excel文件相关的博客,但每个都有不同,核心点说清楚了,但具体运用的时候,相信大家或多或少都没法一次直接运用,这样每次去找并且运用的时候很费时间,所以这也是我 ...

  5. java生成HMACSHA256的方法

    java生成HMACSHA256的方法 答: data要加密的数据,key密钥 public static String HMACSHA256(String data, String key) thr ...

  6. java生成验证码实例_Java生成验证码功能实例代码

    页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. package com.SM_te ...

  7. Java生成CRC16数据校验码

    CRC即循环冗余校验码(Cyclic Redundancy Check[1]  ):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数 ...

  8. java代码上传到私服,java生成 java代码 上传maven私服

    功能:利用java 生成java类 ,并上传至maven私服 使用开源框架:https://github.com/square/javapoet JavaWriter分支 环境:jdk1.8 mave ...

  9. java生成验证码工具类_Java生成图形验证码工具类

    生成验证码效果 validatecode.java 验证码生成类 package cn.dsna.util.images; import java.awt.color; import java.awt ...

最新文章

  1. R语言ggplot2可视化分面图(faceting): ggplot2可视化分面图(facet_wrap)并设置不同的分面使用不同的坐标轴数值范围、以及不同的轴标签断点间隔breaks
  2. technology and business combination point
  3. VTK:可视化之Visualize2DPoints
  4. 交互式电子杂志_交互环境中电子杂志的生存发展探析
  5. On Tutorial with Caffe--a Hands DIY DL for Vision
  6. oracle函数lp,Oracle 执行计划的查看方式
  7. 信息学奥赛一本通 1910:【00NOIP普及组】计算器的改良 | 洛谷 P1022 [NOIP2000 普及组] 计算器的改良
  8. PHP中通过Web 执行C/C++应用程序
  9. MySQL上线,检查数据库设计的“十条合规”
  10. 关于使用hexo搭建博客并实现实时编写markdown的思路
  11. 四年一度的菲尔兹奖揭晓,4位数学家折桂
  12. Scala学习——隐式转换
  13. QT utf8编码转gb2312编码,互相转换的源代码
  14. 计算机通信普遍采用报文交换,报文交换
  15. telink wiki使用简单说明
  16. Windows XP中的命令行界面
  17. HDU - 1234 开门人和关门人
  18. C语言将二维数组通过函数传递至一维数组
  19. 每日一练 — 2022.01.30
  20. 《机器学习实战》学习笔记(八)

热门文章

  1. Android视频压缩实现,基于Android系统的H.264视频压缩技术实现
  2. 全国vb计算机二级考试试题,全国计算机二级考试VB程序设计复习试题
  3. 泊松融合实现图片拼接
  4. php安装sqlsrv扩展
  5. 浅谈虚拟电厂与企业微电网数字化建设
  6. c语言过河小游戏代码,闲来没事撸了一个控制台小游戏
  7. cr2 android,CR2 文件扩展名: 它是什么以及如何打开它?
  8. 用definemacro的方式检查信号的glitch毛刺
  9. scipy.ndimage.distance_transform_edt 和 cv2.distanceTransform用法
  10. Linux时间的cst和edt的区别