您的位置:首页 > 其它

ChartControl柱状图

2014-06-01 10:06 337 查看

             
           
             
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.Axi
c958
sX.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;}

   }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息