使用WinForm Chart控件 制作餅裝,柱狀,折線圖


http://blog.csdn.net/dream2050csdn/article/details/53510340

chart控件的屬性很多,主要用到Chart控件圖表區域的屬性有五個屬性
1.Annotations :批注集合(我沒怎么用到,但是配置的話會在圖標區域出現一些可以備注的東西吧) 
2.ChartAreas: 圖表區屬性;主要設置圖標數據的背景,比如3D或者隱藏還是顯示橫縱軸交叉線,分塊顏色顯示等 
3.Lengends: 圖表圖例集合 主要設置圖表邊說明的一些東西,這次項目沒什么用到,但是覺得這個基本沒啥用,有什么說明一般都另外添加的,用不到自帶的屬性 
4.Series :圖表序列屬性,chart設置中基本大多數的設置都在這里了,用來設置數據的一下外觀,數據類型(餅圖,折線圖,樹狀圖等等) 
5.Title: 圖表標題集合,用來設置圖表的標題
 
         
         
        
 
 
        

使用之前要引用這個 
using System.Windows.Forms.DataVisualization.Charting;


//這是添加的兩組數據 List<int> txData2 = new List<int>() { 2011, 2012, 2013, 2014, 2015, 2016 }; List<int> tyData2 = new List<int>() { 9, 6, 7, 4, 5, 4 }; List<int> txData3 = new List<int>() { 2012 }; List<int> tyData3 = new List<int>() { 7 };
Chart ct= new Chart(); //若為new一個Chart,需同時Add其Title,Series,ChartAreas等屬性 //若是直接拖入控件則只需在控件屬性中自己調整就好 //標題 ct.Titles.Add("我的歷年合同均價(元/兆千瓦時)"); //背景 ct.ChartAreas.Add(new ChartArea() { Name = "ca1" }); //背景框 ct.ChartAreas[0].Axes[0].MajorGrid.Enabled =false; //X軸上網格 ct.ChartAreas[0].Axes[1].MajorGrid.Enabled = false; //y軸上網格 ct.ChartAreas[0].Axes[0].MajorGrid.LineDashStyle = ChartDashStyle.Dash; //網格類型 短橫線 ct.ChartAreas[0].Axes[0].MajorGrid.LineColor = Color.Gray; ct.ChartAreas[0].Axes[0].MajorTickMark.Enabled =false; // x軸上突出的小點 ct.ChartAreas[0].Axes[1].MajorTickMark.Enabled = false; // ct.ChartAreas[0].Axes[1].IsInterlaced = true; //顯示交錯帶 ct.ChartAreas[0].Axes[0].LabelStyle.Format = "#年"; //設置X軸顯示樣式 ct.ChartAreas[0].Axes[1].MajorGrid.LineDashStyle = ChartDashStyle.Dash; //網格類型 短橫線 ct.ChartAreas[0].Axes[1].MajorGrid.LineColor = Color.Gray; ct.ChartAreas[0].Axes[1].MajorGrid.LineWidth = 3; //圖表數據區,有多個重疊則循環添加 ct.Series.Add(new Series()); //添加一個圖表序列 // ct.Series[0].XValueType = ChartValueType.String; //設置X軸上的值類型 ct.Series[0].Label = "#VAL"; //設置顯示X Y的值 ct.Series[0].ToolTip = "#VALX年\r#VAL"; //鼠標移動到對應點顯示數值 ct.Series[0].ChartArea = "ca1"; //設置圖表背景框 ct.Series[0].ChartType = SeriesChartType.Line; //圖類型(折線) ct.Series[0].Points.DataBindXY(txData2, tyData2); //添加數據 //折線段配置 ct.Series[0].Color = Color.Red; //線條顏色 ct.Series[0].BorderWidth = 3; //線條粗細 ct.Series[0].MarkerBorderColor =Color.Red ; //標記點邊框顏色 ct.Series[0].MarkerBorderWidth=3; //標記點邊框大小 ct.Series[0].MarkerColor =Color.Red ; //標記點中心顏色 ct.Series[0].MarkerSize = 5; //標記點大小 ct.Series[0].MarkerStyle=MarkerStyle.Circle; //標記點類型 ct.Series.Add(new Series()); //添加一個圖表序列 ct.Series[1].Label = "#VAL"; //設置顯示X Y的值 ct.Series[1].ToolTip = "#VALX年\r#VAL"; //鼠標移動到對應點顯示數值 ct.Series[1].ChartType = SeriesChartType.Line; //圖類型(折線) ct.Series[1].Points.DataBindXY(txData3, tyData3); //添加數據 //折線段配置 ct.Series[1].Color = Color.Black; //線條顏色 ct.Series[1].BorderWidth = 3; //線條粗細 ct.Series[1].MarkerBorderColor = Color.Black; //標記點邊框顏色 ct.Series[1].MarkerBorderWidth = 3; //標記點邊框大小 ct.Series[1].MarkerColor = Color.Black; //標記點中心顏色 ct.Series[1].MarkerSize = 5; //標記點大小 ct.Series[1].MarkerStyle = MarkerStyle.Circle; //標記點類型 //另外 //餅圖說明設置,這用來設置餅圖每一塊的信息顯示在什么地方 ct.Series[0]["PieLabelStyle"] = "Outside";//將文字移到外側 ct.Series[0]["PieLineColor"] = "Black";//繪制黑色的連線。 //柱狀圖其他設置 ct.Series[0]["DrawingStyle"] = "Emboss"; //設置柱狀平面形狀 ct.Series[0]["PointWidth"] = "0.5"; //設置柱狀大小 

示例圖 
運行示例,我用的是折線圖 
運行示例,我用的是折線圖

柱狀示例

其中綁定數據源,得到折線圖的方法有兩種。

 
        
1、讀取數據庫,得到數據集,綁定對應列得到折線圖:
DataSet ds = 讀取數據庫;
DataView dv=new DataView(ds.Tables[0]);
this.chart1.Series[0].ChartType=SeriesChartType.Line; 
this.chart1.Series[0].Points.DataBindXY(dv, "時間列列名",dv, "溫度列列名");
 
2、讀取數據庫,得到數據列表,綁定列表得到折線圖:
List<DateTime> x = 讀取數據庫得到時間列表;
List<double> y = 讀取數據庫得到溫度列表;
this.chart1.Series[0].ChartType=SeriesChartType.Line; 
this.chart1.Series[0].Points.DataBindXY(x,y);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM