一.需要實現的目標是:
1.將數據綁定到pie的后台數據中,自動生成餅圖。
2.生成的餅圖有詳細文字的說明。
1.設置chart1的屬性Legends中默認的Legend1的Enable為false;
如圖1所示:
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);
折線圖和柱形圖的生成和餅圖相同。
二.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"
