做一些软件时需要输出图表(折线图等),本文介绍的就是vs拥有的chart控件
当然还有其他单独的控件等,这里就不进行其他的描述了,毕竟自带的就是香

折线图如下(波形图在这里就不进行展示了)
在图表启动时一点要先进行初始化操作,操作指令如下

InitChart();

开始和停止指令如下
this.timer1.Start();//开始
this.timer1.Stop();//停止

设置图表的各种参数代码如下,可根据自身需要进行修改

private void InitChart()//设置图表{//定义图表区域this.chart1.ChartAreas.Clear();ChartArea chartArea1 = new ChartArea("C1");this.chart1.ChartAreas.Add(chartArea1);//定义存储和显示点的容器this.chart1.Series.Clear();Series series1 = new Series("S1");series1.ChartArea = "C1";this.chart1.Series.Add(series1);//设置图表显示样式this.chart1.ChartAreas[0].AxisY.Minimum = 0;this.chart1.ChartAreas[0].AxisY.Maximum = 100;this.chart1.ChartAreas[0].AxisX.Interval = 5;this.chart1.ChartAreas[0].AxisX.MajorGrid.LineColor = System.Drawing.Color.Silver;this.chart1.ChartAreas[0].AxisY.MajorGrid.LineColor = System.Drawing.Color.Silver;//设置标题this.chart1.Titles.Clear();this.chart1.Titles.Add("S01");this.chart1.Titles[0].Text = "我也不知道";this.chart1.Titles[0].ForeColor = Color.RoyalBlue;this.chart1.Titles[0].Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);//设置图表显示样式this.chart1.Series[0].Color = Color.Blue;if (rb1.Checked){this.chart1.Titles[0].Text = string.Format("这是个假图 {0} 显示", rb1.Text);this.chart1.Series[0].ChartType = SeriesChartType.Line;this.chart1.Series[0].ChartType = SeriesChartType.FastLine;}if (rb2.Checked){this.chart1.Titles[0].Text = string.Format("这也不是真的", rb2.Text);this.chart1.Series[0].ChartType = SeriesChartType.Spline;this.chart1.Series[0].ChartType = SeriesChartType.FastLine;}this.chart1.Series[0].Points.Clear();}

对chart数据的更新代码如下

        private void UpdateQueueValue()//更新数据{if (dataQueue.Count > 100){//先出列for (int i = 0; i < num; i++){dataQueue.Dequeue();}}if (rb1.Checked){Random r = new Random();for (int i = 0; i < num; i++){dataQueue.Enqueue(r.Next(0, 100));}}if (rb2.Checked){for (int i = 0; i < num; i++){//对curValue只取[0,360]之间的值curValue = curValue % 360;//对得到的正玄值,放大50倍,并上移50dataQueue.Enqueue((50 * Math.Sin(curValue * Math.PI / 180)) + 50);curValue = curValue + 10;}}}
 private void timer1_Tick_1(object sender, EventArgs e)//定时器{UpdateQueueValue();this.chart1.Series[0].Points.Clear();for (int i = 0; i < dataQueue.Count; i++){this.chart1.Series[0].Points.AddXY((i + 1), dataQueue.ElementAt(i));}}

需要用到的几个变量如下

private Queue<double> dataQueue = new Queue<double>(100);private int curValue = 0;private int num = 5;//每次删除增加几个点

代码可以直接使用,后期将会将写一篇Y轴自适应的和生成多线的文章敬请期待

C#生成波形图(chart)相关推荐

  1. QtQuick 麦克风采集生成波形图(二)

    在这篇文章麦克风采集生成波形图描述了如何使用Qml中的Chart组件来绘制波形图,但是有时候我们需要绘制一些额外的信息,比如横轴和纵轴也要能够自定义,这个时候在qml-chart中就比较难定制了,我们 ...

  2. C#用NPOI插件对Excel数据的生成各类Chart的绑定/生成

    其实呢,NPOI的API里面没有对高级Chart图的开发接口,只有两个, 目前需要开发高级chart图,要换另一个思维 先在Excel中将数据和模板进行关联好,然后生成模板Chart图 然后只要在Ex ...

  3. Google Earth Engine(GEE)——简单快速生成图形chart!

    地球引擎对象图表 该ui.Chart插件提供帮助方法来构建DataTable和呈现从图表Image,ImageCollection Feature,FeatureCollection, Array,和 ...

  4. 原创:DELPHI7下动态生成DBCHART,可结合上篇博文,动态生成整个CHART图

    转载请注明出处! /Files/tekcat/动态生成多个DBCHART.rar 转载于:https://www.cnblogs.com/tekcat/archive/2010/01/18/16502 ...

  5. html5音频文件生成波形图代码,使用wavesurfer.js显示mp3 audio音频的波形图

    by zhangxinxu from https://www.zhangxinxu.com/wordpress/?p=8290 本文可全文转载,个人网站无需授权,只要保留原作者.出处以及文中链接即可, ...

  6. html5音频文件生成波形图代码,HTML5/D3.js 可视音频波形柱状图

    JavaScript 语言: JaveScriptBabelCoffeeScript 确定 (function() { var playBtn = document.getElementById('p ...

  7. 音频可视化,生成波形图

    import librosa as lr import matplotlib.pyplot as plt import librosa.display import osaudio_path = 'D ...

  8. 从入门到实践:创作一个自己的 Helm Chart

    前言 我们平时在日常生活中会经常在不同的平台上与各种各样的应用打交道,比如从苹果的 App Store 里下载的淘宝.高德.支付宝等应用,或者是在 PC 端安装的 Word.Photoshop.Ste ...

  9. 使用Aspose.Cells生成Excel的线型图表

    使用Aspose.Cells 根据模板生成excel里面的 line chart 目的: 1.根据模板里面的excel数据信息,动态创建line chart 2.linechart 的样式改为灰色 3 ...

最新文章

  1. 浅析Java web程序之客户端和服务器端交互原理
  2. SVN服务器搭建和使用(一)
  3. 改进合作 Git 工作流:自动提取、合并提交
  4. OpenCASCADE:建模算法之隐藏线去除
  5. LeetCode 2194. Excel 表中某个范围内的单元格
  6. S5PV210启动过程
  7. EF-使用EF写SQL语句
  8. 那些年用过的机械键盘--游戏人生键盘风云#入坑keychron#
  9. 如何在DPDK盒子上使用TRex
  10. python调用shell命令
  11. python 3.6 盲水印脚本安装说明
  12. DirectWrite文字排版——字符串去尾
  13. Google Filament 源码学习(一):Filament 编译
  14. 关于Eric Steven Raymond的五部曲
  15. 【雕爷学编程】Arduino动手做(61)---电压检测传感器
  16. git“fatal: loose object”错误解决办法汇总
  17. Keras Adam代码解析以及EMA的Adam优化器
  18. 大学课程计算机鼠标和键盘的介绍,计算机基础课程鼠标和键盘”.ppt
  19. 基于php的教材管理系统
  20. js数组遍历相关方法

热门文章

  1. Zookeeper 原生客户端、可视化工具 ZooInspector 、Apache Curator
  2. 基于 OpenCV 的车辆检测系统
  3. AF base tuning <0>
  4. 飞思卡尔 Target Speed Change Detected - New Speed 16.00MHz解决方案
  5. 12306官网页面html,新版12306网址页面以及订票系统功能介绍
  6. 【二叉堆】实现最小堆和最大堆
  7. SpringBoot+ElasticSearch根据经纬度,简单搜索指定距离范围内的数据
  8. css 文本溢出省略号
  9. java calendar 设置时区_设置calendar时区
  10. json字符串转list集合