亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Mschart應用之曲線圖表spline

2024-07-21 02:48:47
字體:
來源:轉載
供稿:網友
Mschart應用之曲線圖表spline

本文主要是Mschart應用之曲線圖表spline,實現6個模擬數據的圖表,其中數據源X軸為當前系統時間,Y軸是由隨機函數產生的不同范圍的隨機數。

首先是自定義一個數據表,然后產生的數據添加到該數據表中,最后通過chart1.Series[0].Points.AddXY()函數把數據繪制到圖表上。

在開始運行界面主要是通過Timer函數不斷調用繪制圖表,具體圖表繪制函數在StartRun類之中,下面是開始運行界面。

開始運行界面后臺代碼:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using ComponentFactory.Krypton.Toolkit;//項目需要命名空間//using System.Data.SqlClient;using KryptonFormAirComPRessor.DAL;using KryptonFormAirCompressor.BLL;using System.Windows.Forms.DataVisualization.Charting;namespace KryptonFormAirCompressor.UI{    public partial class 開始運行 : ComponentFactory.Krypton.Toolkit.KryptonForm    {        //定義數據采集類        StartRun run = new StartRun();        DataTable dt = new DataTable();        //定義一種行樣式        private DataGridViewCellStyle m_RowStyleNormal;        //定義測試數據邏輯類        testdData td = new testdData();        public 開始運行()        {            InitializeComponent();        }        private void 開始運行_Resize(object sender, EventArgs e)        {            Split1.Height = this.tabPage2.Height / 3 - 1;            Split2.Height = this.tabPage2.Height / 3 - 1;            Split3.Height = this.tabPage2.Height - Split1.Height - Split2.Height;            tabRun.Refresh();            // run.chartInit(chart1, tabPage2);        }        private void 開始運行_Load(object sender, EventArgs e)        {            refeshData();            run.chartInit(chart1, tabPage2);            run.chartInit(chart2, tabPage2);            run.chartInit(chart3, tabPage2);            run.chartInit(chart4, tabPage2);            run.chartInit(chart5, tabPage2);            run.chartInit(chart6, tabPage2);            //添加數據表兩列            dt.Columns.Add("XTime", System.Type.GetType("System.String"));            dt.Columns.Add("YTemp", System.Type.GetType("System.String"));        }        //刷新數據        private void refeshData()        {            kptGridRun.DataSource = td.GetDataTable();            kptGridRun.AllowUserToAddRows = false;        }        /// <summary>        /// 設置單元格的格式        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void kptGridRun_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)        {            //可根據需要設置更多樣式屬性,如字體、對齊、前景色、背景色等            this.m_RowStyleNormal = new DataGridViewCellStyle();            //this.m_RowStyleNormal.BackColor = Color.LightBlue;            kptGridRun.Columns[0].DefaultCellStyle.BackColor = Color.LightGray;            kptGridRun.Columns[1].DefaultCellStyle.BackColor = Color.LightGray; ;            kptGridRun.Columns[2].DefaultCellStyle.BackColor = Color.LightGray; ;            //this.m_RowStyleNormal.SelectionBackColor = Color.LightSteelBlue;            //this.m_RowStyleNormal.SelectionForeColor = Color.Red;            kptGridRun.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;            kptGridRun.Columns[0].FillWeight = 60;            kptGridRun.Columns[1].FillWeight = 100;            kptGridRun.Columns[2].FillWeight = 80;            kptGridRun.Columns[3].FillWeight = 50;            kptGridRun.Columns[4].FillWeight = 50;            kptGridRun.Columns[5].FillWeight = 50;            kptGridRun.Columns[0].ReadOnly = true;            kptGridRun.Columns[1].ReadOnly = true;            kptGridRun.Columns[2].ReadOnly = true;            kptGridRun.Columns[3].ReadOnly = true;            kptGridRun.Columns[4].ReadOnly = true;            kptGridRun.Columns[5].ReadOnly = true;            kptGridRun.RowsDefaultCellStyle = m_RowStyleNormal;        }        private void timer1_Tick(object sender, EventArgs e)        {            if (Convert.ToDouble(chart1TxtMin.Text) < Convert.ToDouble(chart1TxtMax.Text))            {                chart1TxtNow.Text = run.chart(chart1, chart1ComboBox.SelectedIndex, dt, Convert.ToDouble(chart1TxtMin.Text), Convert.ToDouble(chart1TxtMax.Text), 0).ToString();            }            if (Convert.ToDouble(chart2TxtMin.Text) < Convert.ToDouble(chart2TxtMax.Text))            {                chart2TxtNow.Text = run.chart(chart2, chart2ComboBox.SelectedIndex, dt, Convert.ToDouble(chart2TxtMin.Text), Convert.ToDouble(chart2TxtMax.Text), 0).ToString();            }            if (Convert.ToDouble(chart3TxtMin.Text) < Convert.ToDouble(chart3TxtMax.Text))            {                chart3TxtNow.Text = run.chart(chart3, chart3ComboBox.SelectedIndex, dt, Convert.ToDouble(chart3TxtMin.Text), Convert.ToDouble(chart3TxtMax.Text), 0).ToString();            }            if (Convert.ToDouble(chart4TxtMin.Text) < Convert.ToDouble(chart4TxtMax.Text))            {                chart4TxtNow.Text = run.chart(chart4, chart4ComboBox.SelectedIndex, dt, Convert.ToDouble(chart4TxtMin.Text), Convert.ToDouble(chart4TxtMax.Text), 0).ToString();            }            if (Convert.ToDouble(chart5TxtMin.Text) < Convert.ToDouble(chart5TxtMax.Text))            {                chart5TxtNow.Text = run.chart(chart5, chart5ComboBox.SelectedIndex, dt, Convert.ToDouble(chart5TxtMin.Text), Convert.ToDouble(chart5TxtMax.Text), 0).ToString();            }            if (Convert.ToDouble(chart6TxtMin.Text) < Convert.ToDouble(chart6TxtMax.Text))            {                chart6TxtNow.Text = run.chart(chart6, chart6ComboBox.SelectedIndex, dt, Convert.ToDouble(chart6TxtMin.Text), Convert.ToDouble(chart6TxtMax.Text), 0).ToString();            }        }    }}

  

StartRun類:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Windows.Forms.DataVisualization.Charting;using System.Drawing;using System.Windows.Forms;namespace KryptonFormAirCompressor.BLL{    class StartRun    {        static DateTime startTime = DateTime.Now.AddSeconds(-1);        DateTime endTime = startTime.AddSeconds(6);        DateTime kd = DateTime.Parse("00:00:01");        Random rd = new Random();       //隨機函數,產生Y軸數據        DataTable dt = new DataTable(); //創建數據表,存儲數據        int flag = 0;   //設置Timer控件是否生效        int i = 0;      //顯示數據表中的數據行數        double yMax = 400;        double yMin = -400;        double yStep = 200;        Chart mychart = new Chart();        //圖表初始化        public void chartInit(Chart ch, TabPage tp)        {            TabPage tabPage2 = tp;            Chart chInit = ch;            ch.Series["Series1"].Points.Clear();            chInit.Width = tabPage2.Width / 2 - 1;            chInit.Height = tabPage2.Height / 3 - 25;            chInit.BackColor = Color.Azure;            //設置是否在內部繪圖區域中自動設置合適的圖表元素            chInit.ChartAreas["ChartArea1"].Position.Auto = false;            chInit.ChartAreas["ChartArea1"].Position.X = 0;            chInit.ChartAreas["ChartArea1"].Position.Y = 0;            chInit.ChartAreas["ChartArea1"].Position.Width = 100;            chInit.ChartAreas["ChartArea1"].Position.Height = 100;            chInit.ChartAreas["ChartArea1"].InnerPlotPosition.Auto = false;            chInit.ChartAreas["ChartArea1"].InnerPlotPosition.X = 7;            chInit.ChartAreas["ChartArea1"].InnerPlotPosition.Y = 4;            chInit.ChartAreas["ChartArea1"].InnerPlotPosition.Width = 88;            chInit.ChartAreas["ChartArea1"].InnerPlotPosition.Height = 85;            ////設置X軸字體類型、大小、顏色            //chInit.ChartAreas["ChartArea1"].AxisX.LabelStyle.Font = new System.Drawing.Font("宋體", 10f);            //chInit.ChartAreas["ChartArea1"].AxisX.LabelStyle.ForeColor = Color.Black;            ////設置Y軸字體類型、大小、顏色            //chInit.ChartAreas["ChartArea1"].AxisY.LabelStyle.Font = new System.Drawing.Font("宋體", 10f);            //chInit.ChartAreas["ChartArea1"].AxisY.LabelStyle.ForeColor = Color.Black;        }        public double chart(Chart ch, int category, DataTable table, double min, double max, double now)        {            mychart = ch;            dt = table;            yMin = min;            yMax = max;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91po在线观看91精品国产性色| 亚洲视频第一页| 国产mv久久久| 91精品久久久久久久久久久久久久| 91精品啪aⅴ在线观看国产| 国自在线精品视频| 97香蕉久久超级碰碰高清版| 亚洲码在线观看| 久久91超碰青草是什么| 亚洲性日韩精品一区二区| 亚洲国产成人在线视频| 最近2019中文字幕在线高清| 亚洲老司机av| 亚洲欧美日韩天堂一区二区| 久久久久久久久亚洲| 欧美性xxxxhd| 久久亚洲春色中文字幕| 国产精品电影观看| 性欧美在线看片a免费观看| 亚洲成人在线网| 91影院在线免费观看视频| 2018中文字幕一区二区三区| 亚洲综合中文字幕68页| 国产精品三级美女白浆呻吟| 性亚洲最疯狂xxxx高清| 九色精品免费永久在线| 日韩亚洲欧美成人| 九九热这里只有精品免费看| 国产精品欧美日韩| 91精品国产亚洲| 国产精品女视频| 亚洲一区二区三区四区视频| 国产精品自拍偷拍| 久久婷婷国产麻豆91天堂| 久久久精品久久久久| 亚洲精品自拍偷拍| 欧美精品videossex88| 另类视频在线观看| 日韩欧美亚洲范冰冰与中字| 91精品国产乱码久久久久久蜜臀| 在线电影中文日韩| 国产亚洲欧美日韩一区二区| 欧美一级在线播放| 91tv亚洲精品香蕉国产一区7ujn| 日本欧美爱爱爱| 亚洲欧美日韩网| 国产精品久久久久高潮| 精品国产视频在线| 久久久成人精品视频| 亚洲成人激情在线观看| 国内精品久久久久影院 日本资源| 亚洲大胆人体在线| 精品久久久av| 影音先锋欧美在线资源| 日韩精品免费在线视频观看| 亚洲精品日韩激情在线电影| 精品久久久久久久久久ntr影视| 日韩电视剧在线观看免费网站| 亚洲国产精品美女| 国产一区二区精品丝袜| 亚洲一区二区在线播放| 欧美又大粗又爽又黄大片视频| 亚洲精品国精品久久99热一| 国产精品九九久久久久久久| 国产成人在线一区二区| 一区二区在线免费视频| 欧美激情亚洲另类| 精品亚洲男同gayvideo网站| 中文字幕亚洲一区二区三区五十路| 91在线免费看网站| 亚洲欧美另类国产| 亚洲人午夜精品免费| 91av在线网站| 欧美亚州一区二区三区| 亚洲精品一区中文| 欧美激情国内偷拍| 亚洲精品福利免费在线观看| 欧美成年人视频网站| 国产91色在线| 国产精品pans私拍| 最近2019年中文视频免费在线观看| 亚洲最大福利视频| 欧美午夜精品在线| 精品动漫一区二区三区| 久久久久久久久久久久av| 92国产精品久久久久首页| 欧美电影免费在线观看| 欧美精品国产精品日韩精品| 欧美成年人视频网站| 国产欧美一区二区三区视频| 国产+成+人+亚洲欧洲| 一本大道久久加勒比香蕉| 欧美视频13p| 国产精品久久久久久久久久久不卡| 岛国视频午夜一区免费在线观看| 色悠悠久久久久| 亚洲free性xxxx护士白浆| 午夜免费在线观看精品视频| 色天天综合狠狠色| 久久久久五月天| 亚洲国产精品专区久久| 日本一欧美一欧美一亚洲视频| 97精品久久久中文字幕免费| 久久精品2019中文字幕| 91性高湖久久久久久久久_久久99| 亚洲人成电影在线| www.日韩欧美| 国产精品久久久av| 国产精品香蕉在线观看| 中日韩美女免费视频网站在线观看| 亚洲人成网7777777国产| 久久久久久久久电影| 91久久久久久| 91免费看视频.| 中文字幕视频在线免费欧美日韩综合在线看| 日韩大陆欧美高清视频区| 亚洲成年人在线播放| 亚洲aⅴ男人的天堂在线观看| 成人国产精品一区二区| 久久精品久久久久| 亚洲精品视频在线观看视频| 久久国产精品久久国产精品| 久久精品美女视频网站| 红桃av永久久久| 亚洲国产成人在线视频| 国产精品第三页| 久久香蕉国产线看观看av| 欧美日韩国产成人在线观看| 欧美区二区三区| 国产精品视频xxxx| 亚洲精品一区中文| 亚洲黄色在线观看| 日韩男女性生活视频| 国产福利成人在线| 亚洲第一色中文字幕| 日韩欧美在线播放| 91精品国产91| 亚洲精品国偷自产在线99热| 成人在线国产精品| 国产精品久久久久免费a∨| y97精品国产97久久久久久| 国产精品91在线| 日韩av有码在线| 欧美性猛交xxx| 国产又爽又黄的激情精品视频| 国产精品一区二区久久久久| 亚洲国产欧美一区二区丝袜黑人| 欧美情侣性视频| 国产婷婷成人久久av免费高清| 亚洲女人被黑人巨大进入al| 欧美成人免费视频| 欧美精品在线第一页| 精品国产视频在线| 久久国产精品久久精品| 成人精品视频久久久久| 国产成人啪精品视频免费网| 九九热r在线视频精品| 亚洲视频在线观看免费| 97国产suv精品一区二区62| 欧美亚洲另类制服自拍| 中文字幕日韩在线视频| 国内精品久久久久伊人av| 欧美精品在线免费| 亚洲视频第一页|