c# 曲线 SunnuUi LineChart 的使用

//  初始加载

        //  初始加载        private void load(){uiLineChart1.Option.Clear();option = uiLineChart1.Option;AddChartData($"线条:1", pointX.ToArray(), pointY.ToArray());SetChartLineStyle();}/// <summary>/// 向图标添加数据/// </summary>/// <param name="name">线条名称</param>/// <param name="arrx">横轴数据</param>/// <param name="arry">纵轴数据</param>private void AddChartData(string name, double[] arrx, double[] arry){var series = option.AddSeries(new UILineSeries("Line1"));for(int i = 0; i <arrx.Length; i++){series.Add(arrx[i], arry[i]);}uiLineChart1.Option.AddSeries(series);}private void SetChartLineStyle(){uiLineChart1.Option.ShowZeroLine = true;uiLineChart1.Option.ShowZeroValue = true;uiLineChart1.Option.XAxis.Clear();var uiTitle = new UITitle { Text = "测试情况", SubText = "氧含量曲线" };uiLineChart1.Option.Title = uiTitle;//设置图表名称uiLineChart1.Option.XAxis.Name = "数量";//横轴名称uiLineChart1.Option.YAxis.Name = "氧含量";//纵轴名称//uiLineChart1.Option.Y2Axis.Name = "金钱2";//纵轴名称uiLineChart1.Option.XAxis.ShowGridLine = true;//横轴网格线uiLineChart1.Option.YAxis.ShowGridLine = true;//纵轴网格线//uiLineChart1.Option.XAxisType = UIAxisType.Value;//横轴类型//uiLineChart1.Option.XAxis.SetRange(DateTime.Now, DateTime.Now.AddMinutes(10));//设置横轴时间范围uiLineChart1.Option.XAxisType = UIAxisType.Value;//横轴类型uiLineChart1.Option.XAxis.SetRange(0, xBiggestValue);//设置横轴范围(1.类型为时间时需要设置时间范围;2.可通过改属性重置图表显示)uiLineChart1.Option.YAxis.SetRange(0, biggestValue);//设置横轴范围(1.类型为时间时需要设置时间范围;2.可通过改属性重置图表显示)uiLineChart1.Refresh();}

//   定时任务读取数据

        //每秒钟将堆栈中的数据存入数据库private void timer2_Tick(object sender, EventArgs e){if (stack.Count > 0){string readStr = stack.Pop().ToString();if (!readStr.IsNullOrEmpty() && readStr.StartsWith("!M") && readStr.Split(' ').Length >= 19){string[] readArr = readStr.Split(' ');string oxygenTestValue = readArr[8];string isOKStr = readArr[3];bool isOk = Convert.ToInt32(isOKStr) == 1 ? true : false;string realSpead = readArr[14];string errCode = readArr[18];if (!oxygenTestValue.IsDouble()){oxygenTestValue = "0";}double oxygenValue = Convert.ToDouble(oxygenTestValue);if (oxygenValue < 0){oxygenTestValue = "0";}DataRow row = recordTable.NewRow();row["index"] = productIndex;row["now_date"] = DateTime.Now.ToString("M/d");row["now_time"] = DateTime.Now.ToString("H:m:s:fff");row["set_oxygen"] = txt_OxygenValue.Text;row["oxygen"] = oxygenTestValue;row["ok"] = (isOk ? "合格" : "不合格");row["real_spead"] = realSpead;row["set_speed"] = txt_Spead.Text;row["err_code"] = errCode;row["create_admin_name"] = LoginDataStatic.name;recordTable.Rows.InsertAt(row, 0);if (recordTable.Rows.Count == 11){recordTable.Rows.RemoveAt(10);}uiDataGridView1.DataSource = recordTable;List<int> redIndex = new List<int>();int index = 1;foreach (DataRow r in recordTable.Rows){if (!r["ok"].ToString().Equals("合格")){redIndex.Add(index);}index++;}if (redIndex.Count > 0){foreach (int x in redIndex){uiDataGridView1.Rows[x - 1].DefaultCellStyle.BackColor = Color.Red;}}string sql = "insert into tb_record(id, batch_number, batch_index, product_no, oxygen, height, spead, oxygen_setting, check_result, check_admin_id, check_admin_name, check_time, warn_code, error_code) values ";//sql += " (null, '" + txt_BatchNo.Text + "', " + productIndex + ", '" + comb_CheckSettings.Text + "', '" + oxygenTestValue + "', '" + txt_Height.Text + "', '" + realSpead + "', '" + txt_OxygenValue.Text + "', " + isOKStr + ", " + LoginDataStatic.id + ", '" + LoginDataStatic.name + "', '" + nowTime + "', '" + warnCode + "','" + errCode + "')";try{MySQLHelper mySQLHelper = new MySQLHelper(connStr);mySQLHelper.CreateCommand(sql);mySQLHelper.commonExecute();}catch (Exception ex){}}}}

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

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

相关文章

《二十二》Qt 音频编程实战---做一个音频播放器

1.UI界面制作 作为一个音乐播放器&#xff0c;最基础的肯定就是播放、暂停、上一首以及下一首&#xff0c;为了使这个界面好看一点&#xff0c;还加入了音量控制、进度条、歌曲列表等内容&#xff0c;至于这种配色和效果好不好看&#xff0c;我也不知道&#xff0c;个人审美一如…

Total Store Orderand(TSO) the x86 MemoryModel

一种广泛实现的内存一致性模型是总store顺序 (total store order, TSO)。 TSO 最早由 SPARC 引入&#xff0c;更重要的是&#xff0c;它似乎与广泛使用的 x86 架构的内存一致性模型相匹配。RISC-V 还支持 TSO 扩展 RVTSO&#xff0c;部分是为了帮助移植最初为 x86 或 SPARC 架…

Microsoft Edge浏览器,便携增强版 v118.0.5993.69

01 软件介绍 Microsoft Edge浏览器&#xff0c;便携增强版&#xff0c;旨在无需更新组件的情况下提供额外的功能强化。这一增强版专注于优化用户体验和系统兼容性&#xff0c;具体包含以下核心功能的提升&#xff1a; 数据保存&#xff1a;通过优化算法增强了其数据保存能力&…

【WEEK11】 【DAY4】员工管理系统第五部分【中文版】

2024.5.9 Thursday 接上文【WEEK11】 【DAY3】员工管理系统第四部分【中文版】 目录 10.6.增加员工10.6.1.修改list.html10.6.2.修改EmployeeController.java10.6.3.新建add.html10.6.4.重启并运行 10.6.增加员工 10.6.1.修改list.html 第53行&#xff0c;把<h2>Sectio…

VUE 或 Js封装通用闭包循环滚动函数

1、vue3 闭包滚动函数的使用 js 调用也基本雷同 // 滚动Tab组件const scoreTabRef ref()// 滚动的选项const scrollOption ref({// 滚动的Dom元素scrollDom: null,// 滚动的时间间隔scrollInterval: 1500,// 滚动的距离scrollSep: 100,// 滚动历时时间scrollDuration: 10…

在做题中学习(55):一维前缀和模板

【模板】前缀和_牛客题霸_牛客网 (nowcoder.com) 题目解释&#xff1a; 注意&#xff1a;下标从1开始的。 l 和 r就是对这n个整数去取一个区间&#xff0c;例如示例一&#xff1a; (1,2) 区间 就是算出1 2 4 中 1&#xff0c;2下标对应值的和&#xff0c;12 3 同理,(2,3) …

kubernate 基本概念

一 K8S 是什么&#xff1f; K8S 全称&#xff1a;Kubernetes 作用&#xff1a; 用于自动部署、扩展和管理“容器化&#xff08;containerized&#xff09;应用程序”的开源系统。 可以理解成 K8S 是负责自动化运维管理多个容器化程序&#xff08;比如 Docker&#xff09;的…

SpringBoot的图片上传

简介 该文档旨在介绍一个基于Spring Boot框架的简单文件上传功能的实现方式。本文档将详细介绍相关代码的功能和配置以及如何使用它们。 样例 技术栈 Spring Boot&#xff1a;一个用于快速开发基于Spring的应用程序的框架。Thymeleaf&#xff1a;一个用于在Web应用程序中创建…

docker学习笔记(五):harbor仓库搭建与简单应用

harbor私有仓库 简介 Docker容器应用的开发和运行离不开可靠的镜像管理&#xff0c;虽然Docker官方也提供了公共的镜像仓库&#xff0c;但是从安全和效率等方面考虑&#xff0c;部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管…

浅谈冯诺依曼体系与Linux操作系统

目录 前言 1.1冯诺依曼体系下的存储器 二、操作系统 1.关于操作系统 2.关于管理方式 总结 前言 不知道你是否有着这样的疑问&#xff1a; 什么是内存&#xff1f;什么是磁盘&#xff1f;他们有什么区别&#xff1f;可不可以相互替代&#xff1f; 操作系统是如何对数据进行管…

Linux网络编程:TCP并发服务器实现

目录 1、前言 2、多进程代码实现 2.1 创建新的进程 2.2 客户端接收响应函数 2.3 僵尸进程处理 2.4 完整代码 2.5 代码测试 3、多线程代码实现 3.1 创建新的线程 3.2 线程函数定义 3.3 完整代码 3.4 代码测试 4、总结 1、前言 前面实现了基本的TCP编程&#xf…

信息安全技术-分析题【太原理工大学】

没有历年题或明确说明大题会考什么&#xff0c;以下为个人猜测 简答题和选择判断占60&#xff0c;认真看题库和总结&#xff0c;能过d(^_^o) 好像说是加解密这类题会给公式让你直接套&#xff0c;但还是看一下基本原理&#xff0c;要不到时候蒙圈 1.加密算法步骤 图 1 是一个采…

可以录屏的软件推荐3款,让你的录制更高效!

在信息时代&#xff0c;数字化学习、远程办公等场景越来越普及&#xff0c;录屏软件已经成为了人们生活中不可或缺的一部分。一款好的录屏软件可以帮助用户轻松录制屏幕内容&#xff0c;以便随时回顾或与他人分享。本文将详细介绍三款可以录屏的软件&#xff0c;帮助读者了解它…

JavaScript 进阶征途:解锁Function奥秘,深掘Object方法精髓

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 &#x1f235;Function方法 与 函数式编程&#x1f49d;1 call &#x1f49d…

Sass语法介绍-变量介绍

02 【Sass语法介绍-变量】 sass有两种语法格式Sass(早期的缩进格式&#xff1a;Indented Sass)和SCSS(Sassy CSS) 目前最常用的是SCSS&#xff0c;任何css文件将后缀改为scss&#xff0c;都可以直接使用Sassy CSS语法编写。 所有有效的 CSS 也同样都是有效的 SCSS。 Sass语…

怎么开发付费视频系统_轻松拥有知识付费平台

在信息爆炸的时代&#xff0c;我们每天都在被海量的内容所包围。但你有没有想过&#xff0c;如何将这些内容变得更加有价值&#xff0c;更加个性化&#xff0c;甚至能够为你带来经济收益&#xff1f;今天&#xff0c;就让我带你走进一个全新的领域——付费视频系统&#xff0c;…

做好员工行为管理与监督,低门槛构建办公远程管理体系

在企业的日常办公环节&#xff0c;商用远程控制方案起到的作用是多层次的&#xff1a;它既可以作为远程办公的核心工具&#xff0c;也可以作为企业办公远程管理的必要手段&#xff0c;同时也广泛应用在企业内部日常的技术支持&#xff0c;以及关键设备的重点运维。 更加重要的…

【SRC实战】遍历手机号给全站用户发放优惠券

挖个洞先 https://mp.weixin.qq.com/s/m8ULZ52p1q_mKrCRnaI_7A “ 以下漏洞均为实验靶场&#xff0c;如有雷同&#xff0c;纯属巧合 ” 01 — 漏洞证明 一、遍历手机号 “ 没有验证码二次校验的漏洞如何扩大危害&#xff1f;” 1、输入手机号码&#xff0c;领取优惠券场景…

PyTorch中定义自己的数据集

文章目录 1. 简介2. 查看PyTorch自带的数据集(可视化)3. 准备材料3.1 图片数据3.2 标签数据 4. 方法 1. 简介 尽管PyTorch提供了许多自带的数据集&#xff0c;如MNIST、CIFAR-10、ImageNet等&#xff0c;但它们对于没有经验的用户来说&#xff0c;理解数据加载器的工作原理以及…

又被System.out.print给坑了一把

学过java的同学都应该知道&#xff0c;第一个程序很多人都是这样&#xff1a; public class Hello {public static void main(String[] args) { System.out.print("Hello,world&#xff01;");} } 打印结果是&#xff1a;Hello,world&#xff01; 接着可能会…