c# 实时曲线图示例代码

 更新时间:2020年06月17日 15:59:27   作者:金灿灿  
这篇文章主要介绍了如何用c# 实现实时曲线图,文中讲解非常细致,代码帮助大家更好参考和学习,感兴趣的朋友可以了解下

示例目的:使用时间器添加曲线图的点,以达到实时描绘曲线图的效果。X轴显示时分,Y轴显示0-20的随机数

1. 必须安装DevExpress控件,没有安装的朋友可以使用下面的链接下载安装

https://www.jb51.net/softs/547627.html

2. 新建Windows窗体应用程序,直接在工具箱搜索ChartControl并使用改组件

3. 添加曲线图,并设置其属性

当拖拉该组件到窗体设计页面时,会弹出【Chart Designer】,可在此处添加曲线图,并设置其属性

3.1. Series Collection:在此处添加曲线图,实例添加的是Line Series下的Line曲线

GENERAL-LabelsVisibility:显示点对应Y轴的数值

VIEW:MARKER OPTIONS:线上的实心点设置

VIEW:APPEARANCE:线的设置

3.2 因为时模拟的数据,所以我们要设置X轴的参数类型为自定义

4. 开始实现功能

using DevExpress.XtraCharts;
using System;
using System.Windows.Forms;

namespace ChartControl
{
 public partial class Form1 : Form
 {
 private const int _pointsCount = 15; //固定保留15个点
 private int _hour = 0;
 private int _minute = 0;
 private SeriesPointCollection _points;

 public Form1()
 {
  InitializeComponent();
  _points = chartControl1.Series[0].Points;
 }

 private void timer1_Tick(object sender, EventArgs e)
 {
  if (_minute >= 60)
  {
  _hour += 1;
  _minute = 0;
  }
  if (_hour == 24)
  {
  _hour = 0;
  }
  if (_points.Count >= _pointsCount)
  {
  _points.RemoveAt(0);
  }
  var argument = $"{_hour.ToString().PadLeft(2, '0')}:{_minute.ToString().PadLeft(2, '0')}"; // X轴数据
  var value = Math.Round(new Random().NextDouble() * 20, 2); // Y轴数据
  var seriesPoint = new SeriesPoint(argument, value);
  _points.Add(seriesPoint);
  _minute += 1;
 }
 }
}

5. 启用计时器,查看效果

有其他需求可以查看控件属性进行修改,我在这里就不详述了。

实例源码链接:https://github.com/Jcanc/ChartControl

以上就是c# 实时曲线图示例代码的详细内容,更多关于C# 实时曲线图的资料请关注脚本之家其它相关文章!

相关文章

  • C#数据库操作的示例详解

    C#数据库操作的示例详解

    这篇文章主要通过一些示例为大家详细介绍了C#中数据库操作用法,文中的示例代码讲解详细,具有有一定的借鉴价值,需要的可以参考一下
    2022-07-07
  • c#读取XML多级子节点

    c#读取XML多级子节点

    本文主要介绍了c#读取XML多级子节点的方法。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Unity3D使用陀螺仪控制节点旋转

    Unity3D使用陀螺仪控制节点旋转

    这篇文章主要为大家详细介绍了Unity3D使用陀螺仪控制节点旋转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • C# 异步多线程入门到精通之Thread篇

    C# 异步多线程入门到精通之Thread篇

    Thread 是 1.0 时代的产物,当时 C# 就考虑到了多线程,于是就设计了 Thread 。其实现在不推荐使用,除非在维护老的项目已经用了的。Thread 也是比较鸡肋的,有很多缺陷,但也并不是一无是处
    2021-11-11
  • C#连接Oracle的方法实例总结

    C#连接Oracle的方法实例总结

    这篇文章主要介绍了C#连接Oracle的方法,结合实例形式总结分析了几种常见的C#连接Oracle数据库的操作技巧与相关注意事项,需要的朋友可以参考下
    2017-06-06
  • 基于C#设计一个带导航菜单的主界面

    基于C#设计一个带导航菜单的主界面

    这篇文章主要为大家详细介绍了如何基于C#设计一个带导航菜单的主界面,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • VS2013创建Windows服务与调试服务的图文方法

    VS2013创建Windows服务与调试服务的图文方法

    这篇文章主要介绍了VS2013创建Windows服务与调试服务的图文方法,需要的朋友可以参考下
    2017-02-02
  • C#之字符串截取--Regex.Match使用

    C#之字符串截取--Regex.Match使用

    这篇文章主要介绍了C#之字符串截取--Regex.Match使用解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 用C#对ADO.NET数据库完成简单操作的方法

    用C#对ADO.NET数据库完成简单操作的方法

    用C#对ADO.NET数据库完成简单操作的方法...
    2007-03-03
  • 通过容器扩展属性IExtenderProvider实现WinForm通用数据验证组件

    通过容器扩展属性IExtenderProvider实现WinForm通用数据验证组件

    这篇文章介绍了通过容器扩展属性IExtenderProvider实现WinForm通用数据验证组件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12

最新评论