最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#動(dòng)態(tài)繪制多條曲線的方法

 更新時(shí)間:2022年02月17日 10:17:57   作者:weixin_46896829  
這篇文章主要為大家詳細(xì)介紹了C#動(dòng)態(tài)繪制多條曲線的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C#動(dòng)態(tài)繪制多條曲線的具體代碼,供大家參考,具體內(nèi)容如下

實(shí)時(shí)繪制多條曲線,縱軸為數(shù)值,橫軸為時(shí)間,精確到毫秒

實(shí)現(xiàn)效果如下:

代碼:

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.Forms;

namespace chartTest
{
? ? public partial class Form1 : Form
? ? {
? ? ? ? private int maxSize=20; ? ? //圖表顯示的數(shù)據(jù)最大數(shù)量
? ? ? ? private Queue<string> getX = new Queue<string>(); ? //存儲(chǔ)x坐標(biāo)
? ? ? ? private Queue<Int32> getY = new Queue<int>(); ? //存儲(chǔ)y坐標(biāo)

? ? ? ? System.Timers.Timer timer1 = new System.Timers.Timer();
? ? ? ? public Form1()
? ? ? ? {
? ? ? ? ? ? InitializeComponent();
? ? ? ? }

? ? ? ? //獲取時(shí)間軸橫坐標(biāo)
? ? ? ? private string ?setX()?
? ? ? ? {
? ? ? ? ? ? string time = DateTime.Now.ToString("mm:ss.fff");
? ? ? ? ? ? /* if (getX.Count > 15)
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getX.Dequeue();
? ? ? ? ? ? ?}
? ? ? ? ? ? ?else?
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getX.Enqueue(time);
? ? ? ? ? ? ?}*/
? ? ? ? ? ? return time;
? ? ? ? }
? ? ? ? //獲取值 縱坐標(biāo)
? ? ? ? private int ?setY1()?
? ? ? ? {
? ? ? ? ? ? int y = new Random().Next(-100, 0);
? ? ? ? ? ? /* if (getY.Count > 15)
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getY.Dequeue();
? ? ? ? ? ? ?}
? ? ? ? ? ? ?else?
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getY.Enqueue(y);
? ? ? ? ? ? ?}*/
? ? ? ? ? ? return y;
? ? ? ? }
? ? ? ? private int setY2()
? ? ? ? {
? ? ? ? ? ? int y = new Random().Next(-200, 100);
? ? ? ? ? ? /* if (getY.Count > 15)
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getY.Dequeue();
? ? ? ? ? ? ?}
? ? ? ? ? ? ?else?
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getY.Enqueue(y);
? ? ? ? ? ? ?}*/
? ? ? ? ? ? return y;
? ? ? ? }
? ? ? ? private int setY3()
? ? ? ? {
? ? ? ? ? ? int y = new Random().Next(100, 300);
? ? ? ? ? ? /* if (getY.Count > 15)
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getY.Dequeue();
? ? ? ? ? ? ?}
? ? ? ? ? ? ?else?
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getY.Enqueue(y);
? ? ? ? ? ? ?}*/
? ? ? ? ? ? return y;
? ? ? ? }

? ? ? ? private double setY4()
? ? ? ? {
? ? ? ? ? ? double y0 = new Random().Next(100, 300);
? ? ? ? ? ? double y = y0 * 0.1;
? ? ? ? ? ? /* if (getY.Count > 15)
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getY.Dequeue();
? ? ? ? ? ? ?}
? ? ? ? ? ? ?else?
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getY.Enqueue(y);
? ? ? ? ? ? ?}*/
? ? ? ? ? ? return y;
? ? ? ? }

? ? ? ? //將坐標(biāo)點(diǎn)添加進(jìn)系列進(jìn)行繪圖
? ? ? ? private void paint()?
? ? ? ? {
? ? ? ? ? ? try
? ? ? ? ? ? {
? ? ? ? ? ? ? ? //series1
? ? ? ? ? ? ? ? if (chart1.Series[0].Points.Count > maxSize)?
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? chart1.Series[0].Points.RemoveAt(0);
? ? ? ? ? ? ? ? ? ? chart1.Series[0].Points.AddXY(setX(), setY1());
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {?
? ? ? ? ? ? ? ? ? ? chart1.Series[0].Points.AddXY(setX(), setY1());
? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? //series2
? ? ? ? ? ? ? ? if (chart1.Series[1].Points.Count > maxSize)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? chart1.Series[1].Points.RemoveAt(0);
? ? ? ? ? ? ? ? ? ? chart1.Series[1].Points.AddXY(setX(), setY2());
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? chart1.Series[1].Points.AddXY(setX(), setY2());
? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? //series3
? ? ? ? ? ? ? ? if (chart1.Series[2].Points.Count > maxSize)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? chart1.Series[2].Points.RemoveAt(0);
? ? ? ? ? ? ? ? ? ? chart1.Series[2].Points.AddXY(setX(), setY3());
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? chart1.Series[2].Points.AddXY(setX(), setY3());
? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? //series4
? ? ? ? ? ? ? ? if (chart1.Series[3].Points.Count > maxSize)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? chart1.Series[3].Points.RemoveAt(0);
? ? ? ? ? ? ? ? ? ? chart1.Series[3].Points.AddXY(setX(), setY4());
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? chart1.Series[3].Points.AddXY(setX(), setY4());
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? catch
? ? ? ? ? ? { }
? ? ? ? ? ??
? ? ? ? }

? ? ? ??
? ? ? ? private void timer2_Tick(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? setX();
? ? ? ? ? ? setY1();
? ? ? ? ? ? setY2();
? ? ? ? ? ? setY3();
? ? ? ? ? ? setY4();
? ? ? ? ? ? paint(); ? ? ? ? ? ? ?//調(diào)用畫圖方法,顯示動(dòng)態(tài)折線圖
? ? ? ? }

? ? ? ? private void btn_start_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? if (btn_start.Text.Equals("開始"))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? btn_start.Text = "停止";
? ? ? ? ? ? ? ? timer2.Enabled = true;
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? btn_start.Text = "開始";
? ? ? ? ? ? ? ? timer2.Enabled = false;
? ? ? ? ? ? }
? ? ? ? }
? ? }
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#非托管泄漏中HEAP_ENTRY的Size對(duì)不上解析

    C#非托管泄漏中HEAP_ENTRY的Size對(duì)不上解析

    這篇文章主要為大家介紹了C#非托管泄漏中HEAP_ENTRY的Size對(duì)不上解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • C#使用Socket實(shí)現(xiàn)局域網(wǎng)聊天

    C#使用Socket實(shí)現(xiàn)局域網(wǎng)聊天

    這篇文章主要為大家詳細(xì)介紹了C#使用Socket實(shí)現(xiàn)局域網(wǎng)聊天的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • List<>中Find的用法小結(jié)

    List<>中Find的用法小結(jié)

    本篇文章主要是對(duì)List<>中Find的用法進(jìn)行了總結(jié)介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-01-01
  • C#批量修改文件后綴的實(shí)現(xiàn)方法

    C#批量修改文件后綴的實(shí)現(xiàn)方法

    這篇文章主要介紹了C#批量修改文件后綴的實(shí)現(xiàn)方法,本文介紹的方法是通用型的,你只要修改讀取的文件地址,想要讀取的文件后綴名,以及自己想更換的后綴名稱即可,感興趣的小伙伴跟著小伙伴一起來看看吧
    2024-07-07
  • Unity的AssetPostprocessor之Model函數(shù)使用實(shí)戰(zhàn)

    Unity的AssetPostprocessor之Model函數(shù)使用實(shí)戰(zhàn)

    這篇文章主要為大家介紹了Unity的AssetPostprocessor之Model函數(shù)使用實(shí)戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • C#獲取HTML文本的第一張圖片與截取內(nèi)容摘要示例代碼

    C#獲取HTML文本的第一張圖片與截取內(nèi)容摘要示例代碼

    在日常web開發(fā)的時(shí)候,經(jīng)常會(huì)遇到需要獲取保存的HTML文本中的第一張圖片,并且截取內(nèi)容摘要的效果,例如織夢的后臺(tái)添加完詳細(xì)內(nèi)容后就是自動(dòng)讀取內(nèi)容摘要,并保存第一張圖片為縮略圖,那么這篇文章跟大家分享下利用C#如何實(shí)現(xiàn),感興趣的朋友們下面來一起看看吧。
    2016-10-10
  • C#程序啟動(dòng)項(xiàng)的設(shè)置方法

    C#程序啟動(dòng)項(xiàng)的設(shè)置方法

    這篇文章主要為大家詳細(xì)介紹了C#程序啟動(dòng)項(xiàng)的設(shè)置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • C#中字符串優(yōu)化String.Intern、IsInterned詳解

    C#中字符串優(yōu)化String.Intern、IsInterned詳解

    這篇文章主要給大家介紹了關(guān)于C#中字符串優(yōu)化String.Intern、IsInterned的相關(guān)資料,文中通過示例代碼介紹的,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-12-12
  • C#實(shí)現(xiàn)刷新桌面的方法

    C#實(shí)現(xiàn)刷新桌面的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)刷新桌面的方法,涉及C#基于shell32.dll動(dòng)態(tài)鏈接庫實(shí)現(xiàn)系統(tǒng)桌面刷新的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • C#中的虛方法和抽象方法的運(yùn)用

    C#中的虛方法和抽象方法的運(yùn)用

    這篇文章主要介紹了C#中的虛方法和抽象方法的運(yùn)用,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07

最新評(píng)論

建昌县| 洛川县| 绵阳市| 藁城市| 廊坊市| 景东| 北宁市| 贵德县| 长宁县| 长兴县| 滦平县| 和硕县| 临邑县| 阳泉市| 宣威市| 梁山县| 太谷县| 手游| 广汉市| 香港 | 苍溪县| 苍溪县| 武功县| 通榆县| 阳新县| 太仆寺旗| 武汉市| 沂水县| 河源市| 新兴县| 镇雄县| 赫章县| 睢宁县| 瑞丽市| 雅江县| 丽水市| 玉树县| 瓦房店市| 措勤县| 贵溪市| 时尚|