图表Chart的使用

Chart 图表的使用
         这个控件平常挺实用的,下面就来看一看具体的使用方法。


 这个控件有很多种类型,但是平常使用到的话也就不几个,常用的类型也就那么几个。实现方法: 
 首先创建一个实体类,在实体类中填写自己最后需要展示的字段。创建完成之后,自然去数据库里面查,然后封装到一个List集合里面,在这里就不多说了。


 ==重点如下:==
            创建一个专门生成 chart数据的一个类。在这里就创建一个 superChart。在这个类的构造函数中 将需要填充数据的Chart传过来,赋值给这个类的 Chart。代码: 
                                                  //当前要使用的图表控件对象
                                            private Chart chart = null;
                                            public SuperChart(Chart chart)
                                            {
                                                this.chart = chart;
                                            }
             然后写一个展示报表的方法, 这个方法接收两个参数:第一个参数:图表的类型(比如:树状图、饼状图等等)第二个参数:上面提到的需要展示数据的集合。 
            第一步:清空所有的图标序列。 

            第二步:设置图表的类型,并且添加到图表序列中。

            第三步:开始设置当前图表序列的各种属性值。

            第四步:数额制图表绘图区域的X和Y坐标值(Y:表示具体要显示的数值之间的间隔。)

 下面是详细的代码。
       
       /【1】清除所有的图表序列
            this.chart.Series.Clear();

            //【2】创建一个图表序列对象(一个图表,可以添加多个图表序列,也就是绘图对象)
            Series series1 = new Series();
            series1.ChartType = chartType;//设置图表序列对象显示的类型
            this.chart.Series.Add(series1);//添加到图表序列集合

            //【3】设置当前图表序列的各种属性值
            for (int i = 0; i < dataList.Count ; i++)
            {
                //3.1 获取数据对象的两个值
                string text = dataList[i].Text;
                double value = dataList[i].Value;

                //3.2 使用x和y的值将DataPoint对象添加进去
                series1.Points.AddXY(text, value);

                //3.3 设置数据点显示内容
                series1.Points[i].LabelToolTip = value.ToString();//鼠标放到标签上面的提示
                series1.Points[i].ToolTip = value.ToString();//图形上面的提示

                //3.4 根据图形样式设置显示的形式和内容
                if (chartType == SeriesChartType.Pie)
                {
                    // series1.Points[i].Label = "#AXISLABEL(#VAL)";//设置标签显示的内容=X轴内容+value
                    series1.Points[i].Label = "#AXISLABEL(#PERCENT)";//X轴+百分比
                                                                     // series1.Points[i].Label = "#AXISLABEL(#VAL)(#PERCENT)";
                    series1["PieLabelStyle"] = "Outside"; //在外侧显示Lable
                                                          // series1["PieLabelStyle"] = "Inside";
                    series1["PieLineColor"] = "Black";//绘制连线
                }
                else if (chartType == SeriesChartType.Doughnut)//圆环图
                {
                    series1.Points[i].Label = "#AXISLABEL   (#PERCENT)";
                    series1["PieLabelStyle"] = "Inside";
                }
                else //如果是其他图形,显示百分比或数值
                {
                    series1.Points[i].Label = "(#PERCENT)";
                }
                if (chartType != SeriesChartType.Pie)
                {
                    series1.Points[i].AxisLabel = string.Format("{0} {1}", text, value);
                }
            }
            //【4】设置图表绘图区域的X和Y坐标值(Y:表示具体要显示的数值之间的间隔)
            this.chart.ChartAreas[0].AxisY.Interval = 10;//也可以设置成20
            this.chart.ChartAreas[0].AxisX.Interval = 1; //一般都设置为1
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值