麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

使用.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 }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本在线播放一区二区 | 狠狠干五月天 | 19禁国产精品福利视频 | 欧洲成人综合网 | 日本中文字幕久久 | 亚洲一区二区三区高清视频 | hdhdhd79xxxxх | 久久中文免费 | 日产精品久久久一区二区福利 | 曰韩毛片 | 免费黄色在线观看网站 | 色97在线 | 91九色论坛 | 黄色片网站在线看 | 香蕉黄色网| 欧美日韩大片在线观看 | 日本看片一区二区三区高清 | 99re66热这里只有精品8 | 一级毛片在线免费观看 | 青青草好吊色 | 国产又粗又爽又深的免费视频 | 欧美日韩一区三区 | 最近中文字幕一区二区 | 中国黄色一级生活片 | 一级尻逼视频 | 成人做爰s片免费看网站 | 国产羞羞视频 | 久久久久久久久久久一区 | 久久精品二区 | 国产va在线观看免费 | 亚洲小视频在线观看,com | 黄网站进入 | 欧美日韩成人一区二区 | 福利免费在线 | 182tv成人福利视频免费看 | 免费一级a毛片免费观看 | 天天夜碰日日摸日日澡性色av | www国产成人免费观看视频,深夜成人网 | 国产成人自拍小视频 | 国产小视频一区 | 欧美激情精品久久久久久黑人 |