国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用.net的Chart控件繪制曲線圖

2019-11-14 14:07:33
字體:
來源:轉載
供稿:網友

在進行軟件開發過程中我們可能會碰到需要生成圖表的情況,在.NET中以前經常用GDI去繪制,雖然效果也不錯,自從.NET 4.0開始,專門為繪制圖表而生的Chart控件出現了,有了它,就可以輕松的繪制你所需要的曲線圖、柱狀圖什么的了。廢話不多說,直接附上代碼,實現繪制曲線圖,并能進行視圖縮放,注釋很多,相信一看就明白。

  1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.Text;  5 using System.Windows.Forms;  6 using System.Windows.Forms.DataVisualization.Charting;  7 using System.Drawing;  8   9 namespace DrawGraph 10 { 11     /// <summary> 12     /// 繪制曲線類 13     /// </summary> 14     public static class DrawClass 15     { 16         #region 繪制曲線函數 17         /// <summary> 18         /// 繪制曲線函數 19         /// </summary> 20         /// <param name="listX">X值集合</param> 21         /// <param name="listY">Y值集合</param> 22         /// <param name="chart">Chart控件</param> 23         public static void DrawSpline(List<int> listX, List<double> listY, Chart chart) 24         { 25             try 26             { 27                 //X、Y值成員 28                 chart.Series[0].Points.DataBindXY(listX, listY); 29                 chart.Series[0].Points.DataBindY(listY); 30  31                 //點顏色 32                 chart.Series[0].MarkerColor = Color.Green; 33                 //圖表類型  設置為樣條圖曲線 34                 chart.Series[0].ChartType = SeriesChartType.Spline; 35                 //設置點的大小 36                 chart.Series[0].MarkerSize = 5; 37                 //設置曲線的顏色 38                 chart.Series[0].Color = Color.Orange; 39                 //設置曲線寬度 40                 chart.Series[0].BorderWidth = 2; 41                 //chart.Series[0].CustomPRoperties = "PointWidth=4"; 42                 //設置是否顯示坐標標注 43                 chart.Series[0].IsValueShownAsLabel = false; 44  45                 //設置游標 46                 chart.ChartAreas[0].CursorX.IsUserEnabled = true; 47                 chart.ChartAreas[0].CursorX.AutoScroll = true; 48                 chart.ChartAreas[0].CursorX.IsUserSelectionEnabled = true; 49                 //設置X軸是否可以縮放 50                 chart.ChartAreas[0].AxisX.ScaleView.Zoomable = true; 51                 //將滾動條放到圖表外 52                 chart.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = false; 53                 // 設置滾動條的大小 54                 chart.ChartAreas[0].AxisX.ScrollBar.Size = 15; 55                 // 設置滾動條的按鈕的風格,下面代碼是將所有滾動條上的按鈕都顯示出來 56                 chart.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.All; 57                 chart.ChartAreas[0].AxisX.ScrollBar.ButtonColor = Color.SkyBlue; 58                 // 設置自動放大與縮小的最小量 59                 chart.ChartAreas[0].AxisX.ScaleView.SmallScrollSize = double.NaN; 60                 chart.ChartAreas[0].AxisX.ScaleView.SmallScrollMinSize = 1; 61                 //設置刻度間隔 62                 chart.ChartAreas[0].AxisX.Interval = 10; 63                 //將X軸上格網取消 64                 chart.ChartAreas[0].AxisX.MajorGrid.Enabled = false; 65                 //X軸、Y軸標題 66                 chart.ChartAreas[0].AxisX.Title = "環號"; 67                 chart.ChartAreas[0].AxisY.Title = "直徑"; 68                 //設置Y軸范圍  可以根據實際情況重新修改 69                 double max = listY[0]; 70                 double min = listY[0]; 71                 foreach (var yValue in listY) 72                 { 73                     if (max < yValue) 74                     { 75                         max = yValue; 76                     } 77                     if (min > yValue) 78                     { 79                         min = yValue; 80                     } 81                 } 82                 chart.ChartAreas[0].AxisY.Maximum = max; 83                 chart.ChartAreas[0].AxisY.Minimum = min; 84                 chart.ChartAreas[0].AxisY.Interval = (max - min) / 10; 85                 //綁定數據源 86                 chart.DataBind(); 87             } 88             catch (Exception exc) 89             { 90                 MessageBox.Show(exc.ToString()); 91             } 92         }  93         #endregion 94  95         #region 鼠標點擊,通過環號顯示游標,并縮放到響應位置 96         /// <summary> 97         /// 鼠標點擊,通過環號顯示游標,并縮放到響應位置函數 98         /// </summary> 99         /// <param name="ringNum">環號</param>100         /// <param name="chart">Chart控件</param>101         public static void ShowCurByClick(int ringNum, Chart chart)102         {103             //設置游標位置104             chart.ChartAreas[0].CursorX.Position = ringNum;105             //設置視圖縮放106             chart.ChartAreas[0].AxisX.ScaleView.Zoom(ringNum - 1, ringNum + 2);107             //改變曲線線寬108             chart.Series[0].BorderWidth = 3;109             //改變X軸刻度間隔110             chart.ChartAreas[0].AxisX.Interval = 1;111         } 112         #endregion113 114     }115 }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 布拖县| 翼城县| 左贡县| 合江县| 凤山县| 化德县| 怀远县| 辽宁省| 赣州市| 陵水| 河源市| 疏附县| 宁波市| 杭州市| 定远县| 衡山县| 藁城市| 山西省| 美姑县| 平潭县| 千阳县| 原平市| 北碚区| 桃江县| 怀仁县| 定西市| 岢岚县| 三亚市| 凤翔县| 曲麻莱县| 图们市| 新兴县| 贵港市| 德阳市| 灵璧县| 睢宁县| 上林县| 美姑县| 奇台县| 武邑县| 乌兰察布市|