ChartControl柱状图

             
           
              List <Test> list =new List<Test>();

 

       List<string> codeList =new List<string>();

 

       List<string> dateList =new List<string>();

 

       public CommunicateFrequenceResult()

       {

           InitializeComponent();

       }

 

       privatevoidForm1_Load(object sender,EventArgs e)

       {

           list.Add(new Test { srccode ="13915915243",date ="2009", inum = 45 });

           list.Add(new Test { srccode ="13915916945",date ="2009", inum = 2 });

           list.Add(new Test { srccode ="13915911223",date ="2009", inum = 10 });

           list.Add(new Test { srccode ="13915915243",date ="2010", inum = 23 });

           list.Add(new Test { srccode ="13915916945",date ="2010", inum = 12 });

           list.Add(new Test { srccode ="13915911223",date ="2010", inum = 45 });

           list.Add(new Test { srccode ="13915915243",date ="2011", inum = 12 });

           list.Add(new Test { srccode ="13915911223",date ="2011", inum = 5 });

           list.Add(new Test { srccode ="13915915243",date ="2012", inum = 3 });

           list.Add(new Test { srccode ="13915916945",date ="2012", inum = 5 });

           list.Add(new Test { srccode ="13915911223",date ="2012", inum = 2 });

           list.Add(new Test { srccode ="13915915243",date ="2013", inum = 20 });

           list.Add(new Test { srccode ="13915916945",date ="2013", inum = 10 });

           list.Add(new Test { srccode ="13915911223",date ="2013", inum = 32 });

           list.Add(new Test { srccode ="13915915243",date ="2014", inum = 1 });

           list.Add(new Test { srccode ="13915916945",date ="2014", inum = 2 });

           list.Add(new Test { srccode ="13915911223",date ="2014", inum = 3 });

 

           foreach(Test item in list)

           {

               if(!codeList.Contains(item.srccode))

               {

                   codeList.Add(item.srccode);

               }

               if(!dateList.Contains(item.date))

               {

                   dateList.Add(item.date);

               }

           }

 

           DisplaySeries(codeList);

           setChartContrlX();

       }

 

       privatevoidDisplaySeries(List<string> codeListx)

       {

           DevExpress.XtraCharts.Series[] series =new DevExpress.XtraCharts.Series[codeListx.Count];

           

           //清除所有Series

           t_chartControl.Series.Clear();

 

           //初始化柱状图

           for(int dtCountx = 0; dtCountx <codeListx.Count; dtCountx++)

           {

               series[dtCountx] =new DevExpress.XtraCharts.Series();

                    List<Test> tempList = list.Where(t => t.srccode== codeList[dtCountx]).ToList();

               foreach(Test itemintempList)

               {

                   series[dtCountx].Points.Add(newSeriesPoint(item.date,Convert.ToDouble(item.inum)));

               }

               series[dtCountx].LegendText =codeListx[dtCountx];

           }

           t_chartControl.Series.AddRange(series);

           t_chartControl.Legend.Visible =true;

       }

 

       ///<summary>

       ///设置X轴滚动条

       ///</summary>

       privatevoidsetChartContrlX()

       {

           try

           {

               XYDiagramxyDiagram1 =this.t_chartControl.Diagramas XYDiagram;

               xyDiagram1.AxisX.Range.Auto =false;//要开启滚动条必须将其设置为false

               xyDiagram1.AxisX.Range.MinValueInternal = -0.5D;

               xyDiagram1.AxisX.Range.MaxValueInternal = 4.0D;//在不拉到滚动条的时候,X轴显示多个值,既固定的X轴长度。

               xyDiagram1.AxisX.Range.ScrollingRange.Auto =false;

               xyDiagram1.AxisX.Range.ScrollingRange.MaxValueSerializable= (9 + 1).ToString();//整个X轴最多显示多多少个值

               xyDiagram1.AxisX.Range.ScrollingRange.MinValueSerializable ="0";

               xyDiagram1.AxisX.Range.ScrollingRange.SideMarginsEnabled =true;//是否从X轴原点开始显示

               xyDiagram1.AxisX.Range.SideMarginsEnabled =false;

               xyDiagram1.AxisX.VisibleInPanesSerializable ="-1";

               xyDiagram1.AxisY.NumericOptions.Format = DevExpress.XtraCharts.NumericFormat.General;//显示为百分数

               xyDiagram1.AxisX.Range.ScrollingRange.SideMarginsEnabled =true;

               xyDiagram1.EnableScrolling =true;

           }

           catch(Exception ex)

           {

               MessageBox.Show(ex.Message,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error);

           }

       }

 

privatestring selectedCode ="";

///<summary>

///双击某个柱状图获得号码

///</summary>

privatevoid t_chartControl_ObjectSelected(object sender,HotTrackEventArgse)

       {

           if(e.AdditionalObject !=null &&e.HitInfo.Series !=null)

           {

               selectedCode =e.HitInfo.Series.LegendText;

           }

           else

           {

               selectedCode ="";

           }

       }

 

   classTest

   {

       public string srccode {get;set;}

 

       public string date {get;set;}

 

       public long inum {get;set;}

   }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值