private void plotter_Loaded(object sender, RoutedEventArgs e)
        {
            innerPlotter.ViewportBindingConverter = new InjectedPlotterVerticalSyncConverter(innerPlotter);

            if (Record != null && !string.IsNullOrEmpty(Record.Id))
            {
                Record = MySession.Session.Get<Exerciserecord>(Record.Id);

                if (Record != null)
                {
                    float[] targetLine = null;
                    float[] actionLine = null;
                    float[] powerLine = null;
                    int xLength = int.MaxValue;

                    if (Record.Record1 != null && !string.IsNullOrEmpty(Record.Record1)) //目标轨迹
                    {
                        var temp = record.Record1.Split('|');
                        targetLine = new float[temp.Length];
                        for (int i = 0; i < temp.Length; i++)
                        {
                            if (!string.IsNullOrEmpty(temp[i]))
                            {
                                targetLine[i] = Convert.ToSingle(temp[i]);
                            }
                        }
                        if (temp.Length < xLength) xLength = temp.Length;
                    }

                    if (Record.Record2 != null && !string.IsNullOrEmpty(Record.Record2)) //实际运动轨迹
                    {
                        var temp = record.Record2.Split('|');
                        actionLine = new float[temp.Length];
                        for (int i = 0; i < temp.Length; i++)
                        {
                            if (!string.IsNullOrEmpty(temp[i]))
                            {
                                actionLine[i] = Convert.ToSingle(temp[i]);
                            }
                        }
                        if (temp.Length < xLength) xLength = temp.Length;
                    }

                    if (Record.Record3 != null && !string.IsNullOrEmpty(Record.Record3)) //力量
                    {
                        var temp = record.Record3.Split('|');
                        powerLine = new float[temp.Length];
                        for (int i = 0; i < temp.Length; i++)
                        {
                            if (!string.IsNullOrEmpty(temp[i]))
                            {
                                powerLine[i] = Convert.ToSingle(temp[i]);
                            }
                        }
                        if (temp.Length < xLength) xLength = temp.Length;
                    }

                    if (xLength < int.MaxValue)
                    {
                        //添加X轴
                        var xs = Enumerable.Range(1, xLength).Select(i => i * 1).ToArray();
                        //var xds = xs.AsXDataSource();

                        plotter.Visible = DataRect.Create(0, -60, xLength, 60);

                        //添加目标轨迹
                        if (targetLine != null)
                        {
                            var target = targetLine.Take(xLength).ToArray();
                            //var tl = target.Join(xds);
                            var tl = new List<Point>();
                            for (int i = 0; i < xLength; i++)
                            {
                                Point p = new Point(xs[i], target[i]);
                                tl.Add(p);
                            }
                            var ds = new EnumerableDataSource<Point>(tl);
                            ds.SetXYMapping(pt => pt);
                            plotter.AddLineGraph(ds, Colors.Red, 2, "目标轨迹");
                        }

                        //添加运动轨迹
                        if (actionLine != null)
                        {
                            var action = actionLine.Take(xLength).ToArray();
                            //var al = action.Join(xds);
                            var al = new List<Point>();
                            for (int i = 0; i < xLength; i++)
                            {
                                Point p = new Point(xs[i], action[i]);
                                al.Add(p);
                            }
                            var ds = new EnumerableDataSource<Point>(al);
                            ds.SetXYMapping(pt => pt);
                            plotter.AddLineGraph(ds, Colors.Blue, 2, "运动轨迹");
                        }

                        //添加力量
                        if (powerLine != null)
                        {
                            var power = powerLine.Take(xLength).ToArray();
                            //var pl = power.Join(xds);
                            var pl = new List<Point>();
                            for (int i = 0; i < xLength; i++)
                            {
                                Point p = new Point(xs[i], power[i]);
                                pl.Add(p);
                            }
                            var ds = new EnumerableDataSource<Point>(pl);
                            ds.SetXYMapping(pt => pt);
                            innerPlotter.AddLineGraph(ds, Colors.Yellow, 2, "力量");
                        }
                    }


                    //添加分组训练信息(图2)
                    if (record.GroupRecord != null)
                    {
                        List<ClusteredBarData> barData = new List<ClusteredBarData>();

                        var group = record.GroupRecord.Split('|');
                        var groupRecords = new List<RecordData>();
                        for (int i = 0; i < group.Length; i++)
                        {
                            ClusteredBarData cbd = new ClusteredBarData();
                            var temp = group[i].Split(',');
                            BarData bd = new BarData { YMin = Convert.ToSingle(temp[1]), YMax = Convert.ToSingle(temp[2]) };
                            bd.BrushColor = Colors.Blue;
                            cbd.X = Convert.ToInt32(temp[0]);
                            cbd.BarDatas = new List<BarData>();
                            cbd.BarDatas.Add(bd);
                            barData.Add(cbd);
                        }

                        EnumerableDataSource<ClusteredBarData> ds = new EnumerableDataSource<ClusteredBarData>(barData);
                        ds.SetXMapping(x => x.X);
                        ds.SetYMapping(y => y.BarDatas[0].YMax);
                        DataContext = ds;
                    }
                }

            }
        }
        /// <summary>
        /// 柱状图
        /// </summary>
        /// <param name="gvColumn"></param>
        /// <param name="ColumnScroll"></param>
        /// <param name="LineScroll"></param>
        public void Column(Grid gvColumn, ScrollViewer ColumnScroll)
        {
            #region 初始化
            ColumnScroll.Visibility = Visibility.Visible;

            Grid Column_Range = gvColumn.Children[0] as Grid;
            Grid Column_ParticipationStrength = gvColumn.Children[1] as Grid;

            Column_Range.Children.Clear();
            Column_ParticipationStrength.Children.Clear();
           
            Color[] colors = new Color[] { Colors.Red, Colors.LawnGreen, Colors.Blue, Colors.Yellow, Colors.Magenta, Colors.Black, Colors.Brown, Colors.DimGray };

            data = new List<ClusteredBarData>();
            #endregion

            #region 实例图表
           
            //最大力量
            Chart chart1 = new Chart();
            chart1.DataPointWidth = 2;
            chart1.Width = 870;
            Axis xaxis1 = new Axis();
            AxisLabels xal1 = new AxisLabels
            {

                Enabled = true,

                Angle = -45
            };
            xaxis1.AxisLabels = xal1;
            chart1.AxesX.Add(xaxis1);
            SetTitle(chart1, "主动参与力量");
            chart1.Rendered += new EventHandler(c_Rendered);
           
            Chart chart3 = new Chart();
            //主动/被动关节活动度
            SetTitle(chart3, "活动范围");
            chart3.DataPointWidth = 2;
            chart3.Width = 870;
            Axis xaxis3 = new Axis();
            AxisLabels xal3 = new AxisLabels
            {

                Enabled = true,

                Angle = -45
            };
            xaxis3.AxisLabels = xal3;
            chart3.AxesX.Add(xaxis3);
            chart3.Rendered += new EventHandler(c_Rendered);
           
            #endregion

            #region 被动运动集合
            if (CkGuided.IsChecked.Value==true)
            {
                #region 活动范围
                //活动范围
                if (CkGuided_RangeList.Count > 0)
                {
                    DataSeries ds = new DataSeries();
                    ds.RenderAs = RenderAs.Column;
                    SolidColorBrush brush = new SolidColorBrush(Colors.Red);
                    ds.Color = brush;
                    ds.Name = "被动运动模式";
                    foreach (var item in CkGuided_RangeList)
                    {
                        DataPoint dp = new DataPoint();
                        dp.YValue = Convert.ToDouble(item.Value);
                        dp.AxisXLabel = item.Key.ToString();
                        ds.DataPoints.Add(dp);
                    }
                    chart3.Series.Add(ds);
                }
                #endregion

                #region 活动范围 对比 
                //活动范围
                if (CkGuided_RangeList.Count > 0)
                {
                    var groupRecords = new List<RecordData>();
                    //int count=0;
                    foreach (var item in CkGuided_RangeList)
                    {
                        bool flag = true;
                        string date = Convert.ToDateTime(item.Key).ToString("yyyy/MM/dd");
                        var x = dateAxis.ConvertToDouble(Convert.ToDateTime(date));

                        for (int i = 0; i < data.Count; i++)
                        {
                            if (data[i].X == x)
                            {
                                BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
                                bd.BrushColor = colors[0];
                                data[i].BarDatas.Add(bd);
                                flag = false;
                                break;
                            }
                        }

                        if (flag)
                        {
                            ClusteredBarData cbd = new ClusteredBarData();
                            List<BarData> barDatas = new List<BarData>();

                            cbd.X = x;
                            BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
                            bd.BrushColor = colors[0];
                            barDatas.Add(bd);
                            cbd.BarDatas = barDatas;
                            data.Add(cbd);
                        }

                    }
                }
                #endregion

                #region 参与力量
                //参与力量
                if (CkGuided_ParticipationStrengthList.Count > 0)
                {
                    DataSeries ds = new DataSeries();
                    ds.RenderAs = RenderAs.Column;
                    SolidColorBrush brush = new SolidColorBrush(Colors.Red);
                    ds.Color = brush;
                    ds.Name = "被动运动模式";
                    foreach (var item in CkGuided_ParticipationStrengthList)
                    {
                        DataPoint dp = new DataPoint();
                        dp.YValue = Convert.ToDouble(item.Value);
                        dp.AxisXLabel = item.Key.ToString();
                        ds.DataPoints.Add(dp);
                    }
                    chart1.Series.Add(ds);
                }
                #endregion
            }
            #endregion

            #region 主动运动集合
            //if (CkFree.IsChecked.Value == true)
            //{
            //    #region 活动范围
            //    //活动范围
            //    if (CkFree_RangeList.Count > 0)
            //    {
            //        DataSeries ds = new DataSeries();
            //        ds.RenderAs = RenderAs.Column;
            //        SolidColorBrush brush = new SolidColorBrush(Colors.LawnGreen);
            //        ds.Color = brush;
            //        ds.Name = "主动运动";
            //        foreach (var item in CkFree_RangeList)
            //        {
            //            DataPoint dp = new DataPoint();
            //            dp.YValue = Convert.ToDouble(item.Value);
            //            dp.AxisXLabel = item.Key.ToString();
            //            ds.DataPoints.Add(dp);
            //        }
            //        chart3.Series.Add(ds);
            //    }
            //    #endregion

            //    #region 活动范围 对比
            //    //活动范围
            //    if (CkFree_RangeList.Count > 0)
            //    {
            //        var groupRecords = new List<RecordData>();
            //        //int count=0;
            //        foreach (var item in CkFree_RangeList)
            //        {
            //            bool flag = true;
            //            string date = Convert.ToDateTime(item.Key).ToString("yyyy/MM/dd");
            //            var x = dateAxis.ConvertToDouble(Convert.ToDateTime(date));

            //            for (int i = 0; i < data.Count; i++)
            //            {
            //                if (data[i].X == x)
            //                {
            //                    BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
            //                    bd.BrushColor = colors[1];
            //                    data[i].BarDatas.Add(bd);
            //                    flag = false;
            //                    break;
            //                }
            //            }

            //            if (flag)
            //            {
            //                ClusteredBarData cbd = new ClusteredBarData();
            //                List<BarData> barDatas = new List<BarData>();
            //                cbd.X = x;
            //                BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
            //                bd.BrushColor = colors[1];
            //                barDatas.Add(bd);
            //                cbd.BarDatas = barDatas;
            //                data.Add(cbd);
            //            }

            //        }

            //    }
            //    #endregion

            //    #region 参与力量
            //    //参与力量
            //    if (CkFree_ParticipationStrengthList.Count > 0)
            //    {
            //        DataSeries ds = new DataSeries();
            //        ds.RenderAs = RenderAs.Column;
            //        SolidColorBrush brush = new SolidColorBrush(Colors.LawnGreen);
            //        ds.Color = brush;
            //        ds.Name = "主动运动";
            //        foreach (var item in CkFree_ParticipationStrengthList)
            //        {
            //            DataPoint dp = new DataPoint();
            //            dp.YValue = Convert.ToDouble(item.Value);
            //            dp.AxisXLabel = item.Key.ToString();
            //            ds.DataPoints.Add(dp);
            //        }
            //        chart1.Series.Add(ds);
            //    }
            //    #endregion
            //}
            #endregion

            #region 助动运动集合
            //if (CkInitiated.IsChecked.Value == true)
            //{
            //    #region 活动范围
            //    //活动范围
            //    if (CkInitiated_RangeList.Count > 0)
            //    {
            //        DataSeries ds = new DataSeries();
            //        ds.RenderAs = RenderAs.Column;
            //        SolidColorBrush brush = new SolidColorBrush(Colors.Blue);
            //        ds.Color = brush;
            //        ds.Name = "助动运动";
            //        foreach (var item in CkInitiated_RangeList)
            //        {
            //            DataPoint dp = new DataPoint();
            //            dp.YValue = Convert.ToDouble(item.Value);
            //            dp.AxisXLabel = item.Key.ToString();
            //            ds.DataPoints.Add(dp);
            //        }
            //        chart3.Series.Add(ds);
            //    }
            //    #endregion

            //    #region 活动范围 对比
            //    //活动范围
            //    if (CkInitiated_RangeList.Count > 0)
            //    {
            //        var groupRecords = new List<RecordData>();
            //        //int count=0;
            //        foreach (var item in CkInitiated_RangeList)
            //        {
            //            bool flag = true;
            //            string date = Convert.ToDateTime(item.Key).ToString("yyyy/MM/dd");
            //            var x = dateAxis.ConvertToDouble(Convert.ToDateTime(date));

            //            for (int i = 0; i < data.Count; i++)
            //            {
            //                if (data[i].X == x)
            //                {
            //                    BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
            //                    bd.BrushColor = colors[2];
            //                    data[i].BarDatas.Add(bd);
            //                    flag = false;
            //                    break;
            //                }
            //            }

            //            if (flag)
            //            {
            //                ClusteredBarData cbd = new ClusteredBarData();
            //                List<BarData> barDatas = new List<BarData>();
            //                cbd.X = x;
            //                BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
            //                bd.BrushColor = colors[2];
            //                barDatas.Add(bd);
            //                cbd.BarDatas = barDatas;
            //                data.Add(cbd);
            //            }

            //        }

            //    }
            //    #endregion

            //    #region 参与力量
            //    //参与力量
            //    if (CkInitiated_ParticipationStrengthList.Count > 0)
            //    {
            //        DataSeries ds = new DataSeries();
            //        ds.RenderAs = RenderAs.Column;
            //        SolidColorBrush brush = new SolidColorBrush(Colors.Blue);
            //        ds.Color = brush;
            //        ds.Name = "助动运动";
            //        foreach (var item in CkInitiated_ParticipationStrengthList)
            //        {
            //            DataPoint dp = new DataPoint();
            //            dp.YValue = Convert.ToDouble(item.Value);
            //            dp.AxisXLabel = item.Key.ToString();
            //            ds.DataPoints.Add(dp);
            //        }
            //        chart1.Series.Add(ds);
            //    }
            //    #endregion
            //}
            #endregion

            #region 主动配重块集合
            if (CkFreeCounterWeight.IsChecked.Value == true)
            {
                #region 活动范围
                //活动范围
                if (CkFreeCounterWeight_RangeList.Count > 0)
                {
                    DataSeries ds = new DataSeries();
                    ds.RenderAs = RenderAs.Column;
                    SolidColorBrush brush = new SolidColorBrush(Colors.Yellow);
                    ds.Color = brush;
                    ds.Name = "向心、离心运动模式";
                    foreach (var item in CkFreeCounterWeight_RangeList)
                    {
                        DataPoint dp = new DataPoint();
                        dp.YValue = Convert.ToDouble(item.Value);
                        dp.AxisXLabel = item.Key.ToString();
                        ds.DataPoints.Add(dp);
                    }
                    chart3.Series.Add(ds);
                }
                #endregion

                #region 活动范围 对比
                //活动范围
                if (CkFreeCounterWeight_RangeList.Count > 0)
                {
                    var groupRecords = new List<RecordData>();
                    //int count=0;
                    foreach (var item in CkFreeCounterWeight_RangeList)
                    {

                        bool flag = true;
                        string date = Convert.ToDateTime(item.Key).ToString("yyyy/MM/dd");
                        var x = dateAxis.ConvertToDouble(Convert.ToDateTime(date));

                        for (int i = 0; i < data.Count; i++)
                        {
                            if (data[i].X == x)
                            {
                                BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
                                bd.BrushColor = colors[3];
                                data[i].BarDatas.Add(bd);
                                flag = false;
                                break;
                            }
                        }

                        if (flag)
                        {
                            ClusteredBarData cbd = new ClusteredBarData();
                            List<BarData> barDatas = new List<BarData>();
                            cbd.X = x;
                            BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
                            bd.BrushColor = colors[3];
                            barDatas.Add(bd);
                            cbd.BarDatas = barDatas;
                            data.Add(cbd);
                        }

                    }

                }
                #endregion

                #region 参与力量
                //参与力量
                if (CkFreeCounterWeight_ParticipationStrengthList.Count > 0)
                {
                    DataSeries ds = new DataSeries();
                    ds.RenderAs = RenderAs.Column;
                    SolidColorBrush brush = new SolidColorBrush(Colors.Yellow);
                    ds.Color = brush;
                    ds.Name = "向心、离心运动模式";
                    foreach (var item in CkFreeCounterWeight_ParticipationStrengthList)
                    {
                        DataPoint dp = new DataPoint();
                        dp.YValue = Convert.ToDouble(item.Value);
                        dp.AxisXLabel = item.Key.ToString();
                        ds.DataPoints.Add(dp);
                    }
                    chart1.Series.Add(ds);
                }
                #endregion
            }
            #endregion

            #region 主动恒阻力集合
            if (CkFreeConstantResistance.IsChecked.Value == true)
            {
                #region 活动范围
                //活动范围
                if (CkFreeConstantResistance_RangeList.Count > 0)
                {
                    DataSeries ds = new DataSeries();
                    ds.RenderAs = RenderAs.Column;
                    SolidColorBrush brush = new SolidColorBrush(Colors.Magenta);
                    ds.Color = brush;
                    ds.Name = "等张运动模式";
                    foreach (var item in CkFreeConstantResistance_RangeList)
                    {
                        DataPoint dp = new DataPoint();
                        dp.YValue = Convert.ToDouble(item.Value);
                        dp.AxisXLabel = item.Key.ToString();
                        ds.DataPoints.Add(dp);
                    }
                    chart3.Series.Add(ds);
                }
                #endregion

                #region 活动范围 对比
                //活动范围
                if (CkFreeConstantResistance_RangeList.Count > 0)
                {
                    var groupRecords = new List<RecordData>();
                    //int count=0;
                    foreach (var item in CkFreeConstantResistance_RangeList)
                    {
                        bool flag = true;
                        string date = Convert.ToDateTime(item.Key).ToString("yyyy/MM/dd");
                        var x = dateAxis.ConvertToDouble(Convert.ToDateTime(date));

                        for (int i = 0; i < data.Count; i++)
                        {
                            if (data[i].X == x)
                            {
                                BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
                                bd.BrushColor = colors[4];
                                data[i].BarDatas.Add(bd);
                                flag = false;
                                break;
                            }
                        }

                        if (flag)
                        {
                            ClusteredBarData cbd = new ClusteredBarData();
                            List<BarData> barDatas = new List<BarData>();
                            cbd.X = x;
                            BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
                            bd.BrushColor = colors[4];
                            barDatas.Add(bd);
                            cbd.BarDatas = barDatas;
                            data.Add(cbd);
                        }
                    }

                }
                #endregion

                #region 参与力量
                //参与力量
                if (CkFreeConstantResistance_ParticipationStrengthList.Count > 0)
                {
                    DataSeries ds = new DataSeries();
                    ds.RenderAs = RenderAs.Column;
                    SolidColorBrush brush = new SolidColorBrush(Colors.Magenta);
                    ds.Color = brush;
                    ds.Name = "等张运动模式";
                    foreach (var item in CkFreeConstantResistance_ParticipationStrengthList)
                    {
                        DataPoint dp = new DataPoint();
                        dp.YValue = Convert.ToDouble(item.Value);
                        dp.AxisXLabel = item.Key.ToString();
                        ds.DataPoints.Add(dp);
                    }
                    chart1.Series.Add(ds);
                }
                #endregion
            }
            #endregion

            #region 等长A集合
            if (CkIsotonicA.IsChecked.Value == true)
            {
                #region 活动范围
                //活动范围
                if (CkIsotonicA_RangeList.Count > 0)
                {
                    DataSeries ds = new DataSeries();
                    ds.RenderAs = RenderAs.Column;
                    SolidColorBrush brush = new SolidColorBrush(Colors.Black);
                    ds.Color = brush;
                    ds.Name = "等长运动模式";
                    foreach (var item in CkIsotonicA_RangeList)
                    {
                        DataPoint dp = new DataPoint();
                        dp.YValue = Convert.ToDouble(item.Value);
                        dp.AxisXLabel = item.Key.ToString();
                        ds.DataPoints.Add(dp);
                    }
                    chart3.Series.Add(ds);
                }
                #endregion

                #region 活动范围 对比
                //活动范围
                if (CkIsotonicA_RangeList.Count > 0)
                {
                    var groupRecords = new List<RecordData>();
                    //int count=0;
                    foreach (var item in CkIsotonicA_RangeList)
                    {
                        bool flag = true;
                        string date = Convert.ToDateTime(item.Key).ToString("yyyy/MM/dd");
                        var x = dateAxis.ConvertToDouble(Convert.ToDateTime(date));

                        for (int i = 0; i < data.Count; i++)
                        {
                            if (data[i].X == x)
                            {
                                BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
                                bd.BrushColor = colors[5];
                                data[i].BarDatas.Add(bd);
                                flag = false;
                                break;
                            }
                        }

                        if (flag)
                        {
                            ClusteredBarData cbd = new ClusteredBarData();
                            List<BarData> barDatas = new List<BarData>();
                            cbd.X = x;
                            BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
                            bd.BrushColor = colors[5];
                            barDatas.Add(bd);
                            cbd.BarDatas = barDatas;
                            data.Add(cbd);
                        }

                    }

                }
                #endregion

                #region 参与力量
                //参与力量
                if (CkIsotonicA_ParticipationStrengthList.Count > 0)
                {
                    DataSeries ds = new DataSeries();
                    ds.RenderAs = RenderAs.Column;
                    SolidColorBrush brush = new SolidColorBrush(Colors.Black);
                    ds.Color = brush;
                    ds.Name = "等长运动模式";
                    foreach (var item in CkIsotonicA_ParticipationStrengthList)
                    {
                        DataPoint dp = new DataPoint();
                        dp.YValue = Convert.ToDouble(item.Value);
                        dp.AxisXLabel = item.Key.ToString();
                        ds.DataPoints.Add(dp);
                    }
                    chart1.Series.Add(ds);
                }
                #endregion
            }
            #endregion

            #region 等长B集合
            if (CkIsotonicB.IsChecked.Value == true)
            {
                #region 活动范围
                //活动范围
                if (CkIsotonicB_RangeList.Count > 0)
                {
                    DataSeries ds = new DataSeries();
                    ds.RenderAs = RenderAs.Column;
                    SolidColorBrush brush = new SolidColorBrush(Colors.Brown);
                    ds.Color = brush;
                    ds.Name = "协调性训练模式";
                    foreach (var item in CkIsotonicB_RangeList)
                    {
                        DataPoint dp = new DataPoint();
                        dp.YValue = Convert.ToDouble(item.Value);
                        dp.AxisXLabel = item.Key.ToString();
                        ds.DataPoints.Add(dp);
                    }
                    chart3.Series.Add(ds);
                }
                #endregion

                #region 活动范围 对比
                //活动范围
                if (CkIsotonicB_RangeList.Count > 0)
                {
                    var groupRecords = new List<RecordData>();
                    //int count=0;
                    foreach (var item in CkIsotonicB_RangeList)
                    {
                        bool flag = true;
                        string date = Convert.ToDateTime(item.Key).ToString("yyyy/MM/dd");
                        var x = dateAxis.ConvertToDouble(Convert.ToDateTime(date));

                        for (int i = 0; i < data.Count; i++)
                        {
                            if (data[i].X == x)
                            {
                                BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
                                bd.BrushColor = colors[6];
                                data[i].BarDatas.Add(bd);
                                flag = false;
                                break;
                            }
                        }

                        if (flag)
                        {
                            ClusteredBarData cbd = new ClusteredBarData();
                            List<BarData> barDatas = new List<BarData>();
                            cbd.X = x;
                            BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
                            bd.BrushColor = colors[6];
                            barDatas.Add(bd);
                            cbd.BarDatas = barDatas;
                            data.Add(cbd);
                        }

                    }

                }
                #endregion

                #region 参与力量
                //参与力量
                if (CkIsotonicB_ParticipationStrengthList.Count > 0)
                {
                    DataSeries ds = new DataSeries();
                    ds.RenderAs = RenderAs.Column;
                    SolidColorBrush brush = new SolidColorBrush(Colors.Brown);
                    ds.Color = brush;
                    ds.Name = "协调性训练模式";
                    foreach (var item in CkIsotonicB_ParticipationStrengthList)
                    {
                        DataPoint dp = new DataPoint();
                        dp.YValue = Convert.ToDouble(item.Value);
                        dp.AxisXLabel = item.Key.ToString();
                        ds.DataPoints.Add(dp);
                    }
                    chart1.Series.Add(ds);
                }
                #endregion
            }
            #endregion

            #region 推箱子集合
            //if (CkSokoban.IsChecked.Value == true)
            //{
            //    #region 活动范围
            //    //活动范围
            //    if (CkSokoban_RangeList.Count > 0)
            //    {
            //        DataSeries ds = new DataSeries();
            //        ds.RenderAs = RenderAs.Column;
            //        SolidColorBrush brush = new SolidColorBrush(Colors.DimGray);
            //        ds.Color = brush;
            //        ds.Name = "推箱子";
            //        foreach (var item in CkSokoban_RangeList)
            //        {
            //            DataPoint dp = new DataPoint();
            //            dp.YValue = Convert.ToDouble(item.Value);
            //            dp.AxisXLabel = item.Key.ToString();
            //            ds.DataPoints.Add(dp);
            //        }
            //        chart3.Series.Add(ds);
            //    }
                #endregion

            #region 活动范围 对比
            //    //活动范围
            //    if (CkSokoban_RangeList.Count > 0)
            //    {
            //        var groupRecords = new List<RecordData>();
            //        //int count=0;
            //        foreach (var item in CkSokoban_RangeList)
            //        {
            //            bool flag = true;
            //            string date = Convert.ToDateTime(item.Key).ToString("yyyy/MM/dd");
            //            var x = dateAxis.ConvertToDouble(Convert.ToDateTime(date));

            //            for (int i = 0; i < data.Count; i++)
            //            {
            //                if (data[i].X == x)
            //                {
            //                    BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
            //                    bd.BrushColor = colors[7];
            //                    data[i].BarDatas.Add(bd);
            //                    flag = false;
            //                    break;
            //                }
            //            }

            //            if (flag)
            //            {
            //                ClusteredBarData cbd = new ClusteredBarData();
            //                List<BarData> barDatas = new List<BarData>();
            //                cbd.X = x;
            //                BarData bd = new BarData { YMin = Convert.ToDouble(item.Value2), YMax = Convert.ToDouble(item.Value) };
            //                bd.BrushColor = colors[7];
            //                barDatas.Add(bd);
            //                cbd.BarDatas = barDatas;
            //                data.Add(cbd);
            //            }
            //        }

            //    }
            #endregion

            //    #region 参与力量
            //    //参与力量
            //    if (CkSokoban_ParticipationStrengthList.Count > 0)
            //    {
            //        DataSeries ds = new DataSeries();
            //        ds.RenderAs = RenderAs.Column;
            //        SolidColorBrush brush = new SolidColorBrush(Colors.DimGray);
            //        ds.Color = brush;
            //        ds.Name = "推箱子";
            //        foreach (var item in CkSokoban_ParticipationStrengthList)
            //        {
            //            DataPoint dp = new DataPoint();
            //            dp.YValue = Convert.ToDouble(item.Value);
            //            dp.AxisXLabel = item.Key.ToString();
            //            ds.DataPoints.Add(dp);
            //        }
            //        chart1.Series.Add(ds);
            //    }
            //    #endregion
            //}
            //#endregion

            #region 添加图表到容器
            Column_Range.Children.Add(chart3);
            Column_ParticipationStrength.Children.Add(chart1);

            #endregion

            #region 添加数据
            EnumerableDataSource<ClusteredBarData> value = new EnumerableDataSource<ClusteredBarData>(data);
            value.SetXMapping(k => k.X);
            value.SetYMapping(k => k.BarDatas[0].YMax);

            DataContext = value;
            #endregion
        }
        /// <summary>
        /// 柱状图
        /// </summary>
        /// <param name="gvColumn"></param>
        /// <param name="ColumnScroll"></param>
        /// <param name="LineScroll"></param>
        public void Column()
        {
            #region 活动范围
            //活动范围
            if (RangeList.Count > 0)
            {
                
                List<ClusteredBarData> data = new List<ClusteredBarData>();
                Color[] colors = new Color[] { Colors.Red, Colors.Blue, Colors.Yellow };
               
                foreach (var item in RangeList)
                {
                    ClusteredBarData cbd = new ClusteredBarData();
                    List<BarData> barDatas = new List<BarData>();
                    string date = Convert.ToDateTime(item.Key).ToString("yyyy/MM/dd");
                    cbd.X = dateAxis.ConvertToDouble(Convert.ToDateTime(date));
                    BarData bd = new BarData { YMin =Convert.ToDouble(item.Value2), YMax =Convert.ToDouble(item.Value) };
                    bd.BrushColor = colors[0];
                    barDatas.Add(bd);
                    cbd.BarDatas = barDatas;
                    data.Add(cbd);
                }
                EnumerableDataSource<ClusteredBarData> value = new EnumerableDataSource<ClusteredBarData>(data);
                value.SetXMapping(k => k.X);
                value.SetYMapping(k => k.BarDatas[0].YMax);

                DataContext = value;
            }
            #endregion
        }