C# WinForm開發系列之c# 通過.net自帶的chart控件繪制餅圖,柱形圖和折線圖的基礎使用和擴展


一.需要實現的目標是:

1.將數據綁定到pie的后台數據中,自動生成餅圖。

2.生成的餅圖有詳細文字的說明。

 

1.設置chart1的屬性Legends中默認的Legend1的Enable為false;

如圖1所示:

 

圖1
2.設置Series的ChartType為Pie,如圖2所示:
圖2
圖3
3.后台綁定數據
      List<string> xData = new List<string>() { "A", "B", "C", "D" };
            List<int> yData = new List<int>() { 10, 20, 30, 40 };
            chart1.Series[0]["PieLabelStyle"] = "Outside";//將文字移到外側
            chart1.Series[0]["PieLineColor"] = "Black";//繪制黑色的連線。
            chart1.Series[0].Points.DataBindXY(xData, yData);
 
4.后台代碼主要實現了數據綁定和將指示的文字移到餅圖的外側。如圖4所示:
圖4

 

 

折線圖和柱形圖的生成和餅圖相同。

二.chart畫餅圖,折線圖,柱形圖的擴展。

1.使用chart控件創建,跟上面相同;

2.進行關於柱形圖樣式的數據數據,

代碼展示:

 //畫圖柱形圖的條數決定是由數據源也就Series決定。Series是對象,動態創建即可。
        private void Form2_Load(object sender, EventArgs e)
        {
            //畫圖柱形圖的條數決定是由數據源也就Series決定。Series是對象,動態創建即可。
            Series s1 = new Series();
            Series s2 = new Series();
            Series s3 = new Series();

    //隨機
            Random r = new Random();
            for (int i = 1; i < 13; i++)
            {
                //綁定數據
                s1.Points.AddXY(i, r.Next(20, 30));
                s2.Points.AddXY(i, r.Next(10, 30));
                s3.Points.AddXY(i, r.Next(20, 30));
            }
            //指定柱形條的顏色
            s1.Color = Color.Green;
            s2.Color = Color.Red;
            s3.Color = Color.Black;
            //加入到chart1中
            chart1.Series.Add(s1);
            chart1.Series.Add(s2);
            chart1.Series.Add(s3);
        }

3.柱形圖效果如圖5所示:

圖5

 

4.C# chart綁定數據的幾種方式

(1)、數組, List 等簡單Collection類型的方式

 

Series s1=  new  Series();
然后綁定數據就可以了
chart1.Series[ "s1" ].Points.DataBindXY(Hdop, Vdop);

(2)DataTable方式

 

  Series dataTable3Series = new Series("dataTable3");

  dataTable3Series.Points.DataBind(dataTable3.AsEnumerable(), "日期""日發展""");

 

dataTable3Series.XValueType = ChartValueType.DateTime; //設置X軸類型為時間
dataTable3Series.ChartType = SeriesChartType.Line;   //設置Y軸為折線
chart1.Series.Add(dataTable3Series); //加入你的chart1

 

 

三.chart控件畫圖的一些關鍵點

1.如何將折線圖的各個數據點凸顯出來

代碼如下:

  private void Form3_Load(object sender, EventArgs e)
        {
            List<string> xData = new List<string>() { "A", "B", "C", "D" };
            List<int> yData = new List<int>() { 10, 20, 30, 40 };
            //線條顏色
            chart1.Series[0].Color = Color.Green;
            //線條粗細
            chart1.Series[0].BorderWidth = 3;
            //標記點邊框顏色      
            chart1.Series[0].MarkerBorderColor = Color.Black;
            //標記點邊框大小
            chart1.Series[0].MarkerBorderWidth = 3;
            //標記點中心顏色
            chart1.Series[0].MarkerColor = Color.Red;
            //標記點大小
            chart1.Series[0].MarkerSize = 8;
            //標記點類型     
            chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
            //將文字移到外側
            chart1.Series[0]["PieLabelStyle"] = "Outside";
            //繪制黑色的連線
            chart1.Series[0]["PieLineColor"] = "Black";
            chart1.Series[0].Points.DataBindXY(xData, yData);
        }

效果圖如圖6所示:

圖6

2.  如何去掉柱形圖縱向線條

代碼如下:

  private void Form2_Load(object sender, EventArgs e)
        {
            //畫圖柱形圖的條數決定是由數據源也就Series決定。Series是對象,動態創建即可。
            Series s1 = new Series();
            Series s2 = new Series();
            Series s3 = new Series();
            Random r = new Random();
            for (int i = 1; i < 13; i++)
            {
                //綁定數據
                s1.Points.AddXY(i, r.Next(20, 30));
                s2.Points.AddXY(i, r.Next(10, 30));
                s3.Points.AddXY(i, r.Next(20, 30));
            }
            //指定柱形條的顏色
            s1.Color = Color.Green;
            s2.Color = Color.Red;
            s3.Color = Color.Black; 
            //加入到chart1中
            //X軸上網格
            chart1.ChartAreas[0].Axes[0].MajorGrid.Enabled = false;
            //y軸上網格
            //ct.ChartAreas[0].Axes[1].MajorGrid.Enabled = false;      
            chart1.Series.Add(s1);
            chart1.Series.Add(s2);
            chart1.Series.Add(s3);
        }

效果如圖7所示:

圖7

3.  如何使用chart控件畫圓環圖

操作與餅形圖,折線圖等相似,只是需要將chartType設置為Doughnut;

如圖8所示:

 

圖8

在這里可以設置關於圓環的內外百分比,如圖9所示:

圖9

效果圖如圖10所示:

圖10

注意:代碼設置圓環大小代碼如下:

 //DoughnutRadius用來設置用作圓環圖大小的半徑百分比
 chart1.Series["data"].CustomProperties = "DoughnutRadius = 20"


免責聲明!

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



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