.net 2010 chart控件绘制饼状图

需要实现的目标是:

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

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

  具体的实现步骤:

  >>前台界面的设置:

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

  2.设置Series的ChartType为Pie

  3.设置Series显示的文字内容(此处比较关键)

  至此,前台的设置完成。

  >>下面填写后台代码:

Copy to Clipboard Liehuo.Net Codes引用的内容: [www.veryhuo.com]
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);

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

  最后的效果图如下。

  参考资料可以看这里:http://stackoverflow.com/questions/8403866/values-in-a-pie-chart

基本用法

在VS里面直接把Chart 空间拖入到页面中,在后台绑定好xValues,yValues的值,然后在加入圆饼的百分比此时就把简单的饼图给显示出来了。

如何绑定xValues,yValues的值

重要的是我们如何绑定xValues,yValues的值 ,xValues的值就是从数据源中得到的如上图化学工业、非煤矿山等都是绑定到xValues上的值,yValues的值就是化学工业等所占企业总和的百分比;然后写入 以下代码就把xValues,yValues值绑定了。

?
Chart2.Series[ "Series1" ].Points.DataBindXY(xValues, yValues);

 其中Chart2是饼图的名字,Series是图表序列,通俗点说就是实际的绘图数据区域,实际呈现图形形状就是由此集合中的每一个图表构成可以往集合中添加多个图表,每一个图表都有自己的呈现的图像、样式和独立的数据;DataBindXY()里面实际上传的是一个数的集合。

如何得到xValues,yValues 的值

DataBindXY()里面放的就是xValues,yValues 的集合,我们可以从数据库中把自己想要加到xValues上的值一一存放到一个集合中然后在绑定到xValues,我们也可以把读取的数据直接放到xValues里面。

如过是通过SqlDataReader直接读出来放进去可以这样做

?
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
Chart1.Series[ "Series1" ].Points.DataBindXY(dr, "orgname" , dr, "dd" );

  其中orgname 是xValues的值,dd是yValues上的值。

我们也可以把得出来的值放入到一个数组中如下所示

         

?
double [] yValues = { sumWhp, sumFeimei, sumBaozhu, sumOther };
string [] xValues = { "化学工业" , "非煤矿山" , "烟花爆竹" , "其他"   };
  Chart2.Series[ "Series1" ].Points.DataBindXY(xValues, yValues);

  其中yValues的值是从数据库中读出来然后做了一个统计(化学工业的总和),我把统计完之后的数据绑定到yValues值上。

实际上用Chart控件做饼图很简单就是把你想要展示的数据绑定到xValues,yValues。

 

 

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页