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# 实时曲线图的资料请关注我们其它相关文章!

(0)

相关推荐

  • C#实现简单的天气预报示例代码

    前言 本来是打算用C#爬取天气网站上的信息,然后用正则表达过滤有用信息的,但是很淦,正则表达式太难了.无意间找到添加web引用的方式来获取天气信息,亲自测试后发现效果尚可,就记录一下. 引用部分 由于本次是控制台应用,就没有页面设计了.在VS中新建控制台程序后,右击"引用"--"添加服务引用". 在"添加服务引用"左下角选择"高级". 在"服务引用设置中"选择左下角的"添加web引用".

  • C#实现前向最大匹、字典树(分词、检索)的示例代码

    场景:现在有一个错词库,维护的是错词和正确词对应关系.比如:错词"我门"对应的正确词"我们".然后在用户输入的文字进行错词校验,需要判断输入的文字是否有错词,并找出错词以便提醒用户,并且可以显示出正确词以便用户确认,如果是错词就进行替换. 首先想到的就是取出错词List放在内存中,当用户输入完成后用错词List来foreach每个错词,然后查找输入的字符串中是否包含错词.这是一种有效的方法,并且能够实现.问题是错词的数量比较多,目前有10多万条,将来也会不断更新扩展

  • C#实现微信公众号会员卡管理的示例代码

    为了更好地理解微信公众号--会员卡管理,作者特意花了不少的时间对其研究,并用c#开发出会员卡demo,主要包含会员卡创建.设置开卡字段.通过创建二维码来投放会员卡.同步会员卡数据/激活会员卡.拉取会员信息.更新会员信息.设置会员卡失效.删除会员卡,从这些可以清晰地看出是围绕会员卡的生命周期来研究的.结合文章中DEMO有助于大家快速理解会员卡接口. 1.会员卡创建 1).会员卡创建接口文档   支持开发者调用该接口创建会员卡,并获取card_id,用于投放.调用该接口前,请开发者详读创建卡券接口部

  • C#实现微信分账功能的完整步骤

    普通商户分账功能 分账比例:目前只有"低比例分账"小于等于30%分账,分账金额需要减去(千6)手续费. 每一张订单只能分发,当前订单总额的百分之30可以分账: 比如:一张订单支付金额100元,这张订单只能分发29.82元. (100-100*0.006)*30% 的金额 开发文档地址:https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=27_6&index=2 第一:确认是普通商户分账 第二步:添加分账接收

  • C#实现打字小游戏

    本文实例为大家分享了C#实现打字小游戏的具体代码,供大家参考,具体内容如下 using System; using System.Drawing; using System.Windows.Forms; namespace 打字游戏 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //创建飞机 PictureBox plan = new PictureBox(); Button kai

  • C#实现简单打字小游戏

    本文实例为大家分享了C#实现简单打字小游戏的具体代码,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.For

  • c# 实时曲线图示例代码

    示例目的:使用时间器添加曲线图的点,以达到实时描绘曲线图的效果.X轴显示时分,Y轴显示0-20的随机数 1. 必须安装DevExpress控件,没有安装的朋友可以使用下面的链接下载安装 https://www.jb51.net/softs/547627.html 2. 新建Windows窗体应用程序,直接在工具箱搜索ChartControl并使用改组件 3. 添加曲线图,并设置其属性 当拖拉该组件到窗体设计页面时,会弹出[Chart Designer],可在此处添加曲线图,并设置其属性 3.1.

  • iOS实现实时检测网络状态的示例代码

    前言 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据 最近在工作中遇到一个功能就是根据用户当前的网络状,用户未联网需要提示一下,如果是Wifi可以推荐一些图片新闻,如果是3G模式设置为无图的模式,获取网络状态比较简单,毕竟中国现在的流量还是一个比较贵的状态,

  • Android 曲线图的绘制示例代码

    本文介绍了Android 曲线图的绘制示例代码,分享给大家,具体如下: 效果展示 效果展示.gif 使用方式 // 初始化数据表格相关 with(mTableView) { // 配置坐标系 setupCoordinator("日", "人", /*这里是横坐标的值*/0f, 5f, 10f, 15f, 20f, 25f, 30f) // 添加曲线, 确保纵坐标的数值位数相等 addWave(ContextCompat.getColor(this@MainActiv

  • Django Channel实时推送与聊天的示例代码

    先来看一下最终的效果吧 开始聊天,输入消息并点击发送消息就可以开始聊天了 点击 "获取后端数据"开启实时推送 先来简单了解一下 Django Channel Channels是一个采用Django并将其功能扩展到HTTP以外的项目,以处理WebSocket,聊天协议,IoT协议等.它基于称为ASGI的Python规范构建. 它以Django的核心为基础,并在其下面分层了一个完全异步的层,以同步模式运行Django本身,但异步处理了连接和套接字,并提供了以两种方式编写的选择,从而实现了这

  • 2分钟实现一个Vue实时直播系统的示例代码

    前言 我们在不敲代码的时候可能会去看游戏直播,那么是前台怎么实现的呢?下面我们来讲一下. 第一步,购买云直播服务 首先,你必须去阿里云或者腾讯云注册一个直播服务.也花不了几个钱,练手的话,几十块钱就够了. 这里我拿阿里云举例,购买完了,配置好推流域名跟播流域名,下面我们将进行地址生成.记住下面生成的地址,下面会用到. 第二步,下载本地推流工具 https://obsproject.com/ 第三步,设置OBS 在第一步中图片底部有推流地址,需要注意,分为两部分填入下方图所示. 在AppName字

  • 使用OpenCV对车道进行实时检测的实现示例代码

    项目介绍 下图中的两条线即为车道: 我们的任务就是通过 OpenCV 在一段视频(或摄像头)中实时检测出车道并将其标记出来.其效果如下图所示: 这里使用的代码来源于磐怼怼大神,此文章旨在对其代码进行解释. 实现步骤 1.将视频的所有帧读取为图片: 2.创建掩码并应用到这些图片上: 3.图像阈值化: 4.用霍夫线变换检测车道: 5.将车道画到每张图片上: 6.将所有图片合并为视频. 代码实现 1.导入需要的库 import os import re import cv2 import numpy

  • SpringBoot如何实现一个实时更新的进度条的示例代码

    前言 博主近期接到一个任务,大概内容是:导入excel表格批量修改状态,期间如果发生错误则所有数据不成功,为了防止重复提交,做一个类似进度条的东东. 那么下面我会结合实际业务对这个功能进行分析和记录. 正文 思路 前端使用bootstrap,后端使用SpringBoot分布式到注册中心,原先的想法是导入表格后异步调用修改数据状态的方法,然后每次计算修改的进度然后存放在session中,前台jquery写定时任务访问获取session中的进度,更新进度条进度和百分比.但是这存在session在服务

  • Android输入框实时模糊搜索效果的示例代码

    Android输入框实时模糊搜索 很多开发场景会用到搜索框实时模糊搜索来帮助用户输入内容,如图 思路是在EditText 字符变动的时候 弹出ListPopupwindow并更新列表,这样的做法google已经封装为AutoCompleteTextView 用法 mAutoCompleteTextView.setAdapter(adapter); mAutoCompleteTextView.setFocusable(true); mAutoCompleteTextView.setOnItemCl

  • python 实时调取摄像头的示例代码

    调取摄像头的实现 import numpy as np import cv2 cap = cv2.VideoCapture(0) #参数为0时调用本地摄像头:url连接调取网络摄像头:文件地址获取本地视频 while(True): ret,frame=cap.read() #灰度化 gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) cv2.imshow('frame',gray) #普通图片 cv2.imshow('frame',frame) if cv2.

  • matplotlib实现数据实时刷新的示例代码

    前言 matplotlib是python下非常好用的一个数据可视化套件,网上相关的教程也非常丰富,使用方便.本人需求一个根据实时数据刷新曲线的上位机软件,找了半天,基本上都是使用matplotlib的交互模式,我折腾半天还是没有实现想要的效果,但却通过另一种方法实现了想要的效果. 源码 注释已经很充分,不多赘述,直接看源码. import matplotlib.pyplot as plt import numpy as np import threading import sys from ra

随机推荐