欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

實現效果如下:

代碼:

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; ? ? //圖表顯示的數據最大數量
? ? ? ? private Queue<string> getX = new Queue<string>(); ? //存儲x坐標
? ? ? ? private Queue<Int32> getY = new Queue<int>(); ? //存儲y坐標

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

? ? ? ? //獲取時間軸橫坐標
? ? ? ? private string ?setX()?
? ? ? ? {
? ? ? ? ? ? string time = DateTime.Now.ToString("mm:ss.fff");
? ? ? ? ? ? /* if (getX.Count > 15)
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getX.Dequeue();
? ? ? ? ? ? ?}
? ? ? ? ? ? ?else?
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?getX.Enqueue(time);
? ? ? ? ? ? ?}*/
? ? ? ? ? ? return time;
? ? ? ? }
? ? ? ? //獲取值 縱坐標
? ? ? ? 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;
? ? ? ? }

? ? ? ? //將坐標點添加進系列進行繪圖
? ? ? ? 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(); ? ? ? ? ? ? ?//調用畫圖方法,顯示動態(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;
? ? ? ? ? ? }
? ? ? ? }
? ? }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • c# Newtonsoft 六個值得使用的特性(下)

    c# Newtonsoft 六個值得使用的特性(下)

    這篇文章主要介紹了c# Newtonsoft 六個值得使用的特性,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-06-06
  • 雜談try-catch-finally異常處理

    雜談try-catch-finally異常處理

    這篇文章主要介紹了雜談try-catch-finally異常處理的相關資料,需要的朋友可以參考下
    2016-01-01
  • C# 設計模式系列教程-狀態(tài)模式

    C# 設計模式系列教程-狀態(tài)模式

    狀態(tài)模式主要解決的是當控制一個對象狀態(tài)轉換的條件表達式過于復雜時的情況。把狀態(tài)的判斷邏輯轉移到表示不同的一系列類當中,可以把復雜的邏輯判斷簡單化。
    2016-06-06
  • C#簡單實現SNMP的方法

    C#簡單實現SNMP的方法

    這篇文章主要介紹了C#簡單實現SNMP的方法,通過一個簡單的自定義類分析了C#實現SNMP的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C#識別出圖片里的數字和字母

    C#識別出圖片里的數字和字母

    本文給大家分享的是C#識別出圖片里的數字和字母的代碼,主要是識別以前公司的軟件注冊碼截圖里的數字和字母,功能很簡單,也存在很大的局限性,這里僅僅是分享,小伙伴們參考下。
    2015-03-03
  • C#多線程之線程同步

    C#多線程之線程同步

    這篇文章介紹了C#多線程之線程同步,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • C#實現實體類和XML相互轉換

    C#實現實體類和XML相互轉換

    這篇文章主要為大家詳細介紹了C#實現實體類和XML相互轉換的資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 逐步講解快速排序算法及C#版的實現示例

    逐步講解快速排序算法及C#版的實現示例

    快速排序在時間復雜度同為O(N*logN)的幾種排序方法中效率較高,因而比較常用,接下來這里就來逐步講解快速排序算法及C#版的實現示例
    2016-06-06
  • C#通過WIN32 API實現嵌入程序窗體

    C#通過WIN32 API實現嵌入程序窗體

    這篇文章主要介紹了C#通過WIN32 API實現嵌入程序窗體的方法,涉及WIN32 API的調用及窗體的設計,具有很好的借鑒價值,需要的朋友可以參考下
    2014-09-09
  • 介紹C# 泛型類在使用中約束

    介紹C# 泛型類在使用中約束

    這篇文章介紹了C# 泛型類在使用中約束,有需要的朋友可以參考一下
    2013-09-09

最新評論