我对Chart控件的认识
MSChart控件,给图形统计和报表图像显示提供了很好的解决办法,有先数据直接就能在图表上显示出来,给使用者带来了极大方便。
基本用法
在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。
以下死我在VS2010上做的饼图,可下载参考https://files.cnblogs.com/changminglong/ChartTest.rar