代码改变世界

Silverlight 图形报表 线形图 柱形图 饼图

2012-08-01 22:30  图安  阅读(1323)  评论(0编辑  收藏  举报

附本人实践的线形图源代码:https://files.cnblogs.com/zhxm/SilverlightApplication1.rar

一、  线形图

前台布局

<toolkit:Chart

                       Name="mychart" Title="Hail曲线图" Grid.Row="0">

            <toolkit:Chart.Series>

                <toolkit:LineSeries Name="myLineChart" Loaded="myLineChart_Loaded"

                                Title="-1SD"

                                IndependentValueBinding="{Binding Key}"

                                DependentValueBinding="{Binding Value}"

                                DataPointStyle="{StaticResource MyLineDataPointStyle}">

                </toolkit:LineSeries>

                <toolkit:LineSeries Name="myLineChart1" Loaded="myLineChart1_Loaded"

                                Title="-2SD"

                                IndependentValueBinding="{Binding Key}"

                                DependentValueBinding="{Binding Value}"

                                DataPointStyle="{StaticResource MyLineDataPointStyle1}">

                </toolkit:LineSeries>

 

                <toolkit:LineSeries Name="myLineChart2"  Loaded="myLineChart2_Loaded"

                                Title="-3SD"

                                IndependentValueBinding="{Binding Key}"

                                DependentValueBinding="{Binding Value}"

                                DataPointStyle="{StaticResource MyLineDataPointStyle2}">

                </toolkit:LineSeries>

                <toolkit:LineSeries Name="myLineChart3" Loaded="myLineChart3_Loaded"

                                Title="1SD"

                                IndependentValueBinding="{Binding Key}"

                                DependentValueBinding="{Binding Value}"

                                DataPointStyle="{StaticResource MyLineDataPointStyle3}">

                </toolkit:LineSeries>

 

                <toolkit:LineSeries Name="myLineChart4" Loaded="myLineChart4_Loaded"

                                Title="2SD"

                                IndependentValueBinding="{Binding Key}"

                                DependentValueBinding="{Binding Value}"

                                DataPointStyle="{StaticResource MyLineDataPointStyle4}">

                </toolkit:LineSeries>

                <toolkit:LineSeries Name="myLineChart5" Loaded="myLineChart5_Loaded"

                                Title="3SD"

                                IndependentValueBinding="{Binding Key}"

                                DependentValueBinding="{Binding Value}"

                                DataPointStyle="{StaticResource MyLineDataPointStyle5}">

                </toolkit:LineSeries>

            </toolkit:Chart.Series>

        </toolkit:Chart>

后台代码

public ObservableCollection<Hail_CanShu> ObjListSC=new ObservableCollection< Hail_CanShu>();

 

 

        #region  Hail曲线图

        private void myLineChart_Loaded(object sender, RoutedEventArgs e)

        {

            List<KeyValuePair<string, double>> points0 = new List<KeyValuePair<string, double>>();

            for (int i = 0; i < ObjListSC.Count; i++)

            {

                string StrName = ObjListSC[i].月龄

                double StrValue = Convert.ToDouble(ObjListSC[i].数值D1); //第一条曲线纵向数据

                points0.Add(new KeyValuePair<string, double>("" + StrName, StrValue));

            }

            (sender as LineSeries).ItemsSource = points0;

        }

        private void myLineChart1_Loaded(object sender, RoutedEventArgs e)

        {

           

                List<KeyValuePair<string, double>> points0 = new List<KeyValuePair<string, double>>();

                for (int i = 0; i < ObjListSC.Count; i++)

                {

                    string StrName = ObjListSC[i] .月龄;

                    double StrValue = Convert.ToDouble(ObjListSC[i]. .数值D2); //第二条曲线纵向数据

 

                    points0.Add(new KeyValuePair<string, double>("" + StrName, StrValue));

                }

                (sender as LineSeries).ItemsSource = points0;

        

        }

        private void myLineChart2_Loaded(object sender, RoutedEventArgs e)

        {

            List<KeyValuePair<string, double>> points0 = new List<KeyValuePair<string, double>>();

            for (int i = 0; i < ObjListSC.Count; i++)

            {

                string StrName = ObjListSC[i].月龄;

                double StrValue = Convert.ToDouble(ObjListSC[i] .数值D3);

                points0.Add(new KeyValuePair<string, double>("" + StrName, StrValue));

            }

            (sender as LineSeries).ItemsSource = points0;

        }

        private void myLineChart3_Loaded(object sender, RoutedEventArgs e)

        {

            List<KeyValuePair<string, double>> points0 = new List<KeyValuePair<string, double>>();

            for (int i = 0; i < ObjListSC.Count; i++)

            {

                string StrName = ObjListSC[i].月龄;

                double StrValue = Convert.ToDouble(ObjListSC[i].数值¦G1);

                points0.Add(new KeyValuePair<string, double>("" + StrName, StrValue));

            }

            (sender as LineSeries).ItemsSource = points0;

        }

        private void myLineChart4_Loaded(object sender, RoutedEventArgs e)

        {

            List<KeyValuePair<string, double>> points0 = new List<KeyValuePair<string, double>>();

            for (int i = 0; i < ObjListSC.Count; i++)

            {

                string StrName = ObjListSC[i].月龄;

                double StrValue = Convert.ToDouble(ObjListSC[i].数值G2);

                points0.Add(new KeyValuePair<string, double>("" + StrName, StrValue));

            }

            (sender as LineSeries).ItemsSource = points0;

 

        }

        private void myLineChart5_Loaded(object sender, RoutedEventArgs e)

        {

            List<KeyValuePair<string, double>> points0 = new List<KeyValuePair<string, double>>();

            for (int i = 0; i < ObjListSC.Count; i++)

            {

                string StrName = ObjListSC[i].月龄;

                double StrValue = Convert.ToDouble(ObjListSC[i].数值¦G3);

                points0.Add(new KeyValuePair<string, double>("" + StrName, StrValue));

            }

            (sender as LineSeries).ItemsSource = points0;

        }

        #endregion

 

效果图如下:

 

 

 

二、柱形图

前提布局:

<toolkit:Chart x:Name="chartCJDB" Margin="5" Grid.Row="1" Title="Hail柱形图">

                                    <toolkit:Chart.Series>

 

                                    <toolkit:ColumnSeries Name="nan" Title="Hail数据一"

                                      DependentValueBinding="{Binding Value}"

                                      IndependentValueBinding="{Binding Key}"

                                     >

                                       

                                        </toolkit:ColumnSeries>

                                        <toolkit:ColumnSeries Name="nv" Title=" Hail数据二"

                                      DependentValueBinding="{Binding Value}"

                                      IndependentValueBinding="{Binding Key}"

                                     >

 

                                        </toolkit:ColumnSeries>

                                        <toolkit:ColumnSeries Name="he" Title=" Hail数据三"

                                      DependentValueBinding="{Binding Value}"

                                      IndependentValueBinding="{Binding Key}"

                                     >

 

                                        </toolkit:ColumnSeries>

 

 

 

                                    </toolkit:Chart.Series>

                                </toolkit:Chart>

 

后台代码

 

public ObservableCollection<Hail_CanShu> SQ_GR_TJList=new ObservableCollection< Hail_CanShu>();

 

KeyValuePair<string, int>[] objArry4 = new KeyValuePair<string, int>[SQ_GR_TJList.Count - 1];

                        for (int i = 0; i < SQ_GR_TJList.Count - 1; i++)

                                        {

                                            objArry4[i] = new KeyValuePair<string, int>(SQ_GR_TJList[i].名称, Convert.ToInt32(SQ_GR_TJList[i].Hail数据一));

                                        }

                         KeyValuePair<string, int>[] objArry5 = new KeyValuePair<string, int>[SQ_GR_TJList.Count - 1];

                        for (int i = 0; i < SQ_GR_TJList.Count - 1; i++)

                                        {

                                            objArry5[i] = new KeyValuePair<string, int>(SQ_GR_TJList[i].名称, Convert.ToInt32(SQ_GR_TJList[i]. Hail数据二));

                                        }

                         KeyValuePair<string, int>[] objArry6 = new KeyValuePair<string, int>[SQ_GR_TJList.Count - 1];

                        for (int i = 0; i < SQ_GR_TJList.Count - 1; i++)

                                        {

                                            objArry6[i] = new KeyValuePair<string, int>(SQ_GR_TJList[i].名称, Convert.ToInt32(SQ_GR_TJList[i]. Hail数据三));

                                        }

                        ((System.Windows.Controls.DataVisualization.Charting.ColumnSeries)chartCJDB.Series[0]).ItemsSource = objArry4;

                        ((System.Windows.Controls.DataVisualization.Charting.ColumnSeries)chartCJDB.Series[1]).ItemsSource = objArry5;

                        ((System.Windows.Controls.DataVisualization.Charting.ColumnSeries)chartCJDB.Series[2]).ItemsSource = objArry6;

 

效果图如下

 

 

 

三、  饼图

前台布局

<toolkit:Chart x:Name="chartCJDB" Margin="5" Grid.Row="1" Title="">

            <toolkit:Chart.Series>

                <toolkit:PieSeries Title="Hail1"

                     IndependentValueBinding="{Binding Key}"

                     DependentValueBinding="{Binding Value}"

                >

                   

                </toolkit:PieSeries>

            </toolkit:Chart.Series>

        </toolkit:Chart>

后台代码

public ObservableCollection<Hail_CanShu> ObjListSC=new ObservableCollection< Hail_CanShu>();

 

            List<KeyValuePair<string, double>> points0 = new List<KeyValuePair<string, double>>();

            for (int i = 0; i < ObjListSC.Count; i++)

            {

                string StrName = ObjListSC[i].月龄;

                double StrValue = Convert.ToDouble(ObjListSC[i].数值);

                points0.Add(new KeyValuePair<string, double>("" + StrName, StrValue));

            }

            ((System.Windows.Controls.DataVisualization.Charting.PieSeries)chartCJDB.Series[0]).ItemsSource = points0;

 

 

效果如下:

 

 

四、  点图

前台布局

<toolkit:Chart x:Name="chartCJDB" Margin="5" Grid.Row="1" Title="">

            <toolkit:Chart.Series>

                <toolkit: ScatterSeries

Title="Hail1"

                     IndependentValueBinding="{Binding Key}"

                     DependentValueBinding="{Binding Value}"

                >

                   

                </toolkit: ScatterSeries>

            </toolkit:Chart.Series>

        </toolkit:Chart>

后台代码

public ObservableCollection<Hail_CanShu> ObjListSC=new ObservableCollection< Hail_CanShu>();

 

            List<KeyValuePair<string, double>> points0 = new List<KeyValuePair<string, double>>();

            for (int i = 0; i < ObjListSC.Count; i++)

            {

                string StrName = ObjListSC[i].月龄;

                double StrValue = Convert.ToDouble(ObjListSC[i].数值);

                points0.Add(new KeyValuePair<string, double>("" + StrName, StrValue));

            }

            ((System.Windows.Controls.DataVisualization.Charting. ScatterSeries)chartCJDB.Series[0]).ItemsSource = points0;

 

 

效果如下:

 

 

 

 

Silverlight图形报表

作者:HaiL

http://wenku.baidu.com/view/817dcc145f0e7cd18425366a.html