一.需要实现的目标是:

1.将数据绑定到pie的后台数据中,自动生成饼图。

2.生成的饼图有详细文字的说明。

1.设置chart1的属性Legends中默认的Legend1的Enable为false;

如图1所示:

256bcc7cc2af80753c5ee41515e77111.png

图1

2.设置Series的ChartType为Pie,如图2所示:

a91415dd94d511a11ed7e23d8bfcb2a3.png

图2

66b3708cfb18a1131a20736d0d850a43.png

图3

3.后台绑定数据

List xData = new List() { "A", "B", "C", "D" };

List yData = new List() { 10, 20, 30, 40 };

chart1.Series[0]["PieLabelStyle"] = "Outside";//将文字移到外侧

chart1.Series[0]["PieLineColor"] = "Black";//绘制黑色的连线。

chart1.Series[0].Points.DataBindXY(xData, yData);

4.后台代码主要实现了数据绑定和将指示的文字移到饼图的外侧。如图4所示:

7d329eef57387379fe1eba500a08ccf0.png

图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所示:

0fd7e7d5325999b714aeea76b42b360f.png

图5

4.C# chart绑定数据的几种方式

(1)、数组, List 等简单Collection类型的方式

(2)DataTable方式

Series dataTable3Series =new Series("dataTable3");

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

三.chart控件画图的一些关键点

1.如何将折线图的各个数据点凸显出来

代码如下:

private void Form3_Load(object sender, EventArgs e)

{

List xData = new List() { "A", "B", "C", "D" };

List yData = new List() { 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所示:

ee6fdca5ec1692e0a93a7c5705fc5145.png

图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所示:

d47576c70ec4ed8939a38284725ea3cf.png

图7

3.  如何使用chart控件画圆环图

操作与饼形图,折线图等相似,只是需要将chartType设置为Doughnut;

如图8所示:

865cbd19387a088e52c5ab7c3985526e.png

图8

在这里可以设置关于圆环的内外百分比,如图9所示:

f440400cd39e5e497b19d4377c616a1a.png

图9

效果图如图10所示:

8ee0a0de43a5cbdb11713498ab69d324.png

图10

注意:代码设置圆环大小代码如下:

//DoughnutRadius用来设置用作圆环图大小的半径百分比

chart1.Series["data"].CustomProperties = "DoughnutRadius = 20"

更多推荐