예제 #1
0
    public void setRadarChartStar()
    {
        if (Message_Parser_Object && Radar_Chart_Object)
        {
            MessageParser parser = Message_Parser_Object.GetComponent(typeof(MessageParser)) as MessageParser;

            //do {
            //    //parameters_star = (int[])parser.GetParameters();
            //    /*for (int i = 0; i < 6; ++i) {
            //        parameters_star_float[i] = parameters_star[i] / 100.0f;
            //    }*/
            //} while (!parser.OWNFLAG);

            parameters_star = (int[])parser.GetParameters();
            for (int i = 0; i < 6; ++i)
            {
                parameters_star_float[i] = parameters_star[i] / 100.0f;
            }

            GameObject obj = Radar_Chart_Object.transform.Find("Current").gameObject;
            if (obj != null)
            {
                RadarChart radar = obj.GetComponent(typeof(RadarChart)) as RadarChart;
                radar.SetParameters(parameters_star_float);
            }
        }
    }
예제 #2
0
        public ExerciseListViewModel(string pageType = "Chest")
        {
            Type = pageType;
            // order it to be up to date using comprator then update
            ObservableCollection <ExerciseModel> dataToLoad = LoadList(pageType);

            ExerciseList = dataToLoad;

            List <Entry> entries = LoadGraph();

            Chart = new RadarChart()
            {
                Entries       = entries,
                MinValue      = 0,
                LineSize      = 6,
                LabelTextSize = 36,
            };

            _popup              = PopupNavigation.Instance;
            _exercisePage       = new ExercisePopup(type);
            _removeExercisePage = new RemoveExercisePopup(type);

            this.AddExerciseCommand    = new Command(this.AddExerciseClicked);
            this.RemoveExerciseCommand = new Command(this.RemoveExerciseClicked);
            this.BackButtonCommand     = new Command(this.BackButtonClicked);
        }
예제 #3
0
    void LoadValueArray(CategoryData data)
    {
        RadarChart radar = RadarObject.GetComponent <RadarChart>();
        var        obj   = mParser.GetObject(data.DataObjectName);
        int        size  = mParser.GetArraySize(obj);

        if (size < 0) // this is not an array , show warning
        {
            Debug.LogWarning("DataType " + data.DataType + " does not match category " + data.Name);
            return;
        }
        try
        {
            for (int i = 0; i < size; i++)
            {
                double val   = ParseItem(mParser.GetItem(obj, i), null);
                string group = radar.DataSource.GetGroupName(i);
                radar.DataSource.SetValue(data.Name, group, val);
            }
        }
        catch (Exception e)
        {
            Debug.LogWarning("Data for category " + data.Name + " does not match the specified format. Ended with exception : " + e.ToString());
        }
    }
예제 #4
0
        protected override void OnAppearing()
        {
            base.OnAppearing();

            var entries = new[]
            {
                new Microcharts.Entry(20)
                {
                    Label      = "January",
                    ValueLabel = "20",
                    Color      = SKColor.Parse("#266489")
                },
                new Microcharts.Entry(15)
                {
                    Label      = "February",
                    ValueLabel = "15",
                    Color      = SKColor.Parse("#68B9C0")
                },
                new Microcharts.Entry(33)
                {
                    Label      = "March",
                    ValueLabel = "33",
                    Color      = SKColor.Parse("#90D585")
                },
                new Microcharts.Entry(12)
                {
                    Label      = "April",
                    ValueLabel = "12",
                    Color      = SKColor.Parse("#90B585")
                },
                new Microcharts.Entry(40)
                {
                    Label      = "May",
                    ValueLabel = "40",
                    Color      = SKColor.Parse("#91D585")
                }
            };

            var chart4 = new PointChart()
            {
                Entries = entries, LabelTextSize = 35
            };

            var chart5 = new RadialGaugeChart()
            {
                Entries = entries, LabelTextSize = 35
            };
            var chart6 = new RadarChart()
            {
                Entries = entries, LabelTextSize = 35
            };

            this.chart4.Chart = chart4;
            this.chart5.Chart = chart5;
            this.chart6.Chart = chart6;

            ProcessStatusChartBuild();
            ProcessSucceededChartBuild();
            MonthlyHiringsChartBuild();
        }
예제 #5
0
    void setRadarChart()
    {
        if (Radar_Chart_Object)
        {
            if (_childsliders != null && _childsliders.Length > 0)
            {
                int i = 0;
                foreach (Slider slider in _childsliders)
                {
                    //Text text = gameObject.GetComponent(typeof(Text)) as Text;
                    Debug.Log(slider.name);

                    parameters_int[i] = (int)slider.value;
                    parameters[i++]   = (slider.value / 100.0f);
                    if (i >= parameters.Length)
                    {
                        break;
                    }
                }
            }

            GameObject obj = Radar_Chart_Object.transform.Find("After").gameObject;
            if (obj != null)
            {
                RadarChart radar = obj.GetComponent(typeof(RadarChart)) as RadarChart;
                radar.SetParameters(parameters);
            }
        }
    }
예제 #6
0
        private void ShowCharts()
        {
            Chart chart = null;

            foreach (var item in Dashboards)
            {
                switch (item.Type)
                {
                case EChartType.BarChart:
                    chart = new BarChart {
                        Entries = GetEntries(item)
                    };
                    break;

                case EChartType.PointChart:
                    chart = new PointChart {
                        Entries = GetEntries(item)
                    };
                    break;

                case EChartType.LineChart:
                    chart = new LineChart {
                        Entries = GetEntries(item)
                    };
                    break;

                case EChartType.DonutChart:
                    chart = new DonutChart {
                        Entries = GetEntries(item)
                    };
                    break;

                case EChartType.RadialGaugeChart:
                    chart = new RadialGaugeChart {
                        Entries = GetEntries(item)
                    };
                    break;

                case EChartType.RadarChart:
                    chart = new RadarChart {
                        Entries = GetEntries(item)
                    };
                    break;

                default:
                    break;
                }

                if (chart == null)
                {
                    continue;
                }

                var chartView = new Microcharts.Forms.ChartView {
                    HeightRequest = 140, BackgroundColor = Color.White
                };
                chartView.Chart = chart;
                lsCharts.Children.Add(chartView);
            }
        }
예제 #7
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        serializedObject.Update();

        EditorGUILayout.PropertyField(_pointCount);
        EditorGUILayout.PropertyField(_pointSprite);
        EditorGUILayout.PropertyField(_pointColor);
        EditorGUILayout.PropertyField(_pointSize);
        EditorGUILayout.PropertyField(_handlerRadio, true);

        RadarChart radar = target as RadarChart;

        if (radar != null)
        {
            if (GUILayout.Button("生成雷达图顶点"))
            {
                radar.InitPoints();
            }

            if (GUILayout.Button("生成内部可操作顶点"))
            {
                radar.InitHandlers();
            }
        }
        serializedObject.ApplyModifiedProperties();
        if (GUI.changed)
        {
            EditorUtility.SetDirty(target);
        }
    }
 private static void FillCategories(RadarChart radar, string prefix, int count)
 {
     for (int i = 0; i < count; i++)
     {
         radar.AddCategory(prefix + i, null);
     }
 }
예제 #9
0
        public override void OnEnter()
        {
            string check = ErrorCheck();

            if (check != null)
            {
                Debug.LogError(check);
                return;
            }
            GameObject obj   = Fsm.GetOwnerDefaultTarget(ChartObject);
            var        chart = obj.GetComponent <BarChart>();

            if (chart != null)
            {
                if (AddOnlyIfMissing.Value == false || chart.DataSource.HasGroup(GroupName.Value))
                {
                    chart.DataSource.AddGroup(GroupName.Value);
                }
            }
            else
            {
                RadarChart radar = obj.GetComponent <RadarChart>();
                if (radar != null)
                {
                    if (AddOnlyIfMissing.Value == false || radar.DataSource.HasGroup(GroupName.Value) == false)
                    {
                        radar.DataSource.AddGroup(GroupName.Value);
                    }
                }
            }
            Finish();
        }
 void Start()
 {
     rc = this.gameObject.AddComponent <RadarChart>();
     rc.Reset(new float[6] {
         0.1f, 0.5f, 0.2f, 0.5f, 0.5f, 0.3f
     });
 }
예제 #11
0
        private void BtnRadarChart_Click(object sender, EventArgs e)
        {
            var random     = new Random();
            var categories = new[] { "Eating", "Sleeping", "Doing Nothing", "Playing", "Relaxing", "Watching" };
            var chart      = new RadarChart
            {
                Width      = pictureBox1.Width,
                Height     = pictureBox1.Height,
                Categories = categories,
                DataSets   = new[]
                {
                    new RadarChartSeries
                    {
                        Label = "My Life",
                        Color = Color.LightCoral,
                        Data  = GenerateRandomArray(random, categories.Length, 10, 60),
                    },
                    new RadarChartSeries
                    {
                        Label = "My Wife Life",
                        Color = Color.LightBlue,
                        Data  = GenerateRandomArray(random, categories.Length, 10, 70),
                    }
                }
            };

            pictureBox1.Image = chart.CreateImage();
            pictureBox1.Image.Save(@"D:\GitHub\SimpleImageCharts\screenshots\RadarChart.jpg");
        }
        public static RadarChart CreateChart(Size size)
        {
            var random     = new Random();
            var categories = new[] { "Eating", "Sleeping", "Doing Nothing", "Playing", "Relaxing", "Eating", "Sleeping", "Doing Nothing", "Playing", "Relaxing" };
            var chart      = new RadarChart
            {
                //   MaxDataValue = 100,
                StepSize   = 1,
                Size       = size,
                Categories = categories,
                DataSets   = new[]
                {
                    new RadarChartSeries
                    {
                        Label = "My Life",
                        Color = Color.LightCoral,
                        Data  = new[] { 0f, 2f, 0f, 0f, 4f, 1f, 0f, 0f, 0f, 0f } //GenerateRandomArray(random, categories.Length, 1, 10),
                    },
                    new RadarChartSeries
                    {
                        Label = "My Wife Life",
                        Color = Color.LightBlue,
                        Data  = new[] { 0f, 2f, 0f, 0f, 4f, 1f, 0f, 0f, 0f, 0f } // GenerateRandomArray(random, categories.Length, 1, 10),
                    }
                }
            };

            return(chart);
        }
        private static RadarChart CreateRadarSample3()
        {
            var radar = new RadarChart {
                Caption = "Radar Chart", Palette = rnd.Next(1, 6)
            };

            radar.Anchor.Alpha = 0;

            var count = 41;

            FillCategories(radar, "Index ", count);

            for (int i = 0; i < 6; i++)
            {
                AddSeries(radar, "Seriese " + (i + 1), count);

                // 뒤에 있는 set 의 value 값을 null로 설정한다.
                foreach (var set in radar.DataSets[i].SetElements.Skip(30))
                {
                    if (set is ValueSetElement)
                    {
                        ((ValueSetElement)set).Value = null;
                    }
                }
            }
            return(radar);
        }
예제 #14
0
 void Awake()
 {
     chart = gameObject.GetComponent <RadarChart>();
     if (chart == null)
     {
         chart = gameObject.AddComponent <RadarChart>();
     }
 }
예제 #15
0
        private RadarChart GetRadarChart()
        {
            var chart = new RadarChart();

            chart.ComplexData.Labels.AddRange(FakeComplexChartData.Labels);
            chart.ComplexData.Datasets.AddRange(FakeComplexChartData.Datasets);

            return(chart);
        }
예제 #16
0
 private void Redraw(object sender, RoutedEventArgs e)
 {
     LineChart.ClearAndPlot();
     BarChart.ClearAndPlot();
     PieChart.ClearAndPlot();
     PieChart1.ClearAndPlot();
     StackedBarChart.ClearAndPlot();
     ScatterChart.ClearAndPlot();
     RadarChart.ClearAndPlot();
 }
예제 #17
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        RadarChart myScript = (RadarChart)target;

        if (GUILayout.Button("PopulateMesh"))
        {
            Debug.Log("test inspector GUI");
        }
    }
예제 #18
0
        public ReadingPage()
        {
            InitializeComponent();

            Title = "Water Reading";
            Icon  = "calendar.png";

            var entries = new[]
            {
                new Microcharts.Entry(150)
                {
                    Label      = "January",
                    ValueLabel = "150",
                    Color      = SKColor.Parse("#266489")
                },
                new Microcharts.Entry(200)
                {
                    Label      = "February",
                    ValueLabel = "200",
                    Color      = SKColor.Parse("#68B9C0")
                },
                new Microcharts.Entry(250)
                {
                    Label      = "March",
                    ValueLabel = "250",
                    Color      = SKColor.Parse("#90D585")
                },

                new Microcharts.Entry(50)
                {
                    Label      = "March",
                    ValueLabel = "50",
                    Color      = SKColor.Parse("#c47094")
                }
            };

            var chart = new BarChart()
            {
                Entries = entries
            };
            var lineChart = new LineChart()
            {
                Entries = entries
            };
            var pieChart = new RadarChart {
                Entries = entries
            };

            this.chartView.Chart     = chart;
            this.lineChartView.Chart = lineChart;
            this.pieChartView.Chart  = pieChart;
        }
        private static void AddSeries(RadarChart radar, string seriesName, int count)
        {
            var dataset = new DataSetElement {
                SeriesName = seriesName
            };

            for (int i = 0; i < count; i++)
            {
                dataset.AddSet(new ValueSetElement(rnd.Next(3, 10)));
            }

            radar.DataSets.Add(dataset);
        }
예제 #20
0
 private void SetRadarChart()
 {
     Device.BeginInvokeOnMainThread(() =>
     {
         ChartData = new RadarChart()
         {
             Entries           = Entries,
             AnimationDuration = AnimationTime,
             IsAnimated        = true,
             BackgroundColor   = ChartBackgroundColor
         };
     });
 }
예제 #21
0
        static void Main(string[] args)
        {
            var c1 = new RadarChart(new List <double>()
            {
                2, 2, 2, 2
            });
            var c2 = new RadarChart(new List <double>()
            {
                3, 3, 3, 3
            });
            var area = c1.ComputeIntersection(c2).ComputeArea();

            Console.WriteLine(area);
        }
예제 #22
0
        static GameObject CreateRadarChart(UIResources resources)
        {
            GameObject radarPanel = DefaultControls.CreateImage(UIDefaultControls.ConvertToDefaultResources(resources));

            radarPanel.name = "RadarPanel";

            GameObject radarChart = new GameObject("RadarChart");
            RadarChart radar      = radarChart.AddComponent <RadarChart>();

            radar.color = Color.red;
            radarChart.transform.SetParent(radarPanel.transform);

            return(radarPanel);
        }
예제 #23
0
        public HttpResponseMessage DrawMultiRadarChart()
        {
            RadarChart[] charts = new RadarChart[2];

            charts[0]             = new Models.RadarChart();
            charts[0].name        = "set1";
            charts[0].fillColor   = "#f15c80";
            charts[0].borderColor = "#8085e9";

            charts[0].points = new List <Point> {
                new Point {
                    x = "Rome", y = "42"
                }, new Point {
                    x = "London", y = "44"
                }, new Point {
                    x = "Paris", y = "95"
                }, new Point {
                    x = "Bern", y = "37"
                }
            };

            charts[1]             = new Models.RadarChart();
            charts[1].name        = "set2";
            charts[1].fillColor   = "#7cb5ec";
            charts[1].borderColor = "#434348";
            charts[1].points      = new List <Point> {
                new Point {
                    x = "Rome", y = "12"
                }, new Point {
                    x = "London", y = "24"
                }, new Point {
                    x = "Paris", y = "125"
                }, new Point {
                    x = "Bern", y = "7"
                }
            };

            RadarChartData chartData = new RadarChartData();

            chartData.datasets = charts;

            string json = JsonConvert.SerializeObject(chartData);

            using (JsonTextReader reader = new JsonTextReader(new StringReader(json)))
            {
                JObject o2 = (JObject)JToken.ReadFrom(reader);
                return(this.Request.CreateResponse(HttpStatusCode.OK, o2, "application/json"));
            }
        }
예제 #24
0
        IEnumerator RadarAdd()
        {
            chart = gameObject.GetComponent <RadarChart>();
            if (chart == null)
            {
                chart = gameObject.AddComponent <RadarChart>();
            }

            chart.RemoveChartComponents <RadarCoord>();
            chart.RemoveData();

            chart.GetChartComponent <Title>().text    = "RadarChart - 雷达图";
            chart.GetChartComponent <Title>().subText = "";

            var legend = chart.GetChartComponent <Legend>();

            legend.show           = true;
            legend.location.align = Location.Align.TopLeft;
            legend.location.top   = 60;
            legend.location.left  = 2;
            legend.itemWidth      = 70;
            legend.itemHeight     = 20;
            legend.orient         = Orient.Vertical;

            var radarCoord = chart.AddChartComponent <RadarCoord>();

            radarCoord.shape     = RadarCoord.Shape.Polygon;
            radarCoord.center[0] = 0.5f;
            radarCoord.center[1] = 0.4f;
            radarCoord.radius    = 0.4f;

            radarCoord.AddIndicator("indicator1", 0, 100);
            radarCoord.AddIndicator("indicator2", 0, 100);
            radarCoord.AddIndicator("indicator3", 0, 100);
            radarCoord.AddIndicator("indicator4", 0, 100);
            radarCoord.AddIndicator("indicator5", 0, 100);

            serie            = chart.AddSerie <Radar>("test");
            serie.radarIndex = 0;
            chart.AddData(0, new List <double> {
                10, 20, 60, 40, 20
            }, "data1");
            chart.AddData(0, new List <double> {
                40, 60, 90, 80, 70
            }, "data2");
            yield return(new WaitForSeconds(1));
        }
예제 #25
0
    public void ApplyData(string text)
    {
        RadarChart radar = RadarObject.GetComponent <RadarChart>();

        if (Format == DocumentFormat.JSON)
        {
            mParser = new JsonParser(text);
        }
        else
        {
            mParser = new XMLParser(text);
        }

        LoadCategoryVisualStyle(radar);
        EnsureCreateDataTypes();
        if (mCategoryVisualStyle.Length == 0)
        {
            Debug.LogWarning("no visual styles defeind for RadarDataFiller, aborting");
            return;
        }

        if (mCategoryVisualStyle.Length < Categories.Length)
        {
            Debug.LogWarning("not enough visual styles in RadarDataFiller");
        }


        for (int i = 0; i < Categories.Length; i++)
        {
            var cat = Categories[i];
            if (cat.Enabled == false)
            {
                continue;
            }
            int    visualIndex = Math.Min(i, mCategoryVisualStyle.Length - 1);
            object visualStyle = mCategoryVisualStyle[visualIndex];

            if (radar.DataSource.HasCategory(cat.Name))
            {
                radar.DataSource.RemoveCategory(cat.Name);
            }
            radar.DataSource.AddCategory(cat.Name, null, null, 1f, null, null, 0, null);
            radar.DataSource.RestoreCategory(cat.Name, visualStyle); // set the visual style of the category to the one in the prefab
            var loader = mLoaders[cat.DataType];                     // find the loader based on the data type
            loader(cat);                                             // load the category data
        }
    }
        void DrawChart(string charttype)
        {
            List <Entry> DataList = new List <Entry>();

            foreach (Diet diet in dietList)
            {
                DataList.Add(new Entry(diet.Calories)
                {
                    Label      = diet.Food,
                    ValueLabel = diet.Calories.ToString(),
                    Color      = SKColor.Parse("#266489")
                });
            }

            if (charttype == "PointChart")
            {
                var chart = new PointChart()
                {
                    Entries = DataList, LabelTextSize = 40f
                };
                chartView.Chart = chart;
            }
            else if (charttype == "LineChart")
            {
                var chart = new LineChart()
                {
                    Entries = DataList, LabelTextSize = 40f
                };
                chartView.Chart = chart;
            }
            else if (charttype == "BarChart")
            {
                var chart = new BarChart()
                {
                    Entries = DataList, LabelTextSize = 40f
                };
                chartView.Chart = chart;
            }
            else if (charttype == "RadarChart")
            {
                var chart = new RadarChart()
                {
                    Entries = DataList, LabelTextSize = 40f
                };
                chartView.Chart = chart;
            }
        }
예제 #27
0
        private Task GenerateChartActivitiesImputedGroupByTaskAndProject(Models.Timesheet timesheet)
        {
            return(Task.Run(() => {
                var entries = _dashBoardModule.ChartService.GenerateChartActivitiesImputedGroupByTaskAndProject(timesheet);
                var chartT = new RadarChart()
                {
                    Entries = entries
                };

                chartT.LabelTextSize = Device.Idiom == TargetIdiom.Tablet ? 30 : 20;


                ChartProjectsImputed = chartT;

                ChartProjectsImputedIsVisible = entries != null && entries.Sum(x => x.Value) > 0 ? true : false;
            }));
        }
        private static RadarChart CreateRadarSample1()
        {
            var radar = new RadarChart
            {
                Caption = "Radar Chart",
                Palette = rnd.Next(1, 6),
                Anchor  = { Alpha = 0 }
            };

            var count = 10;

            FillCategories(radar, "Index ", count);
            AddSeries(radar, "Seriese 1", count);
            AddSeries(radar, "Seriese 2", count);

            return(radar);
        }
        public MainWindow()
        {
            WpfStandardUIEnvironment.Init(new WpfNativeVisualEnvironment());
            InitializeComponent();

            MyBarChart.Entries   = CreateChartEntries();
            MyPointChart.Entries = CreateChartEntries();
#if false
            var barChart = new BarChart()
            {
                Entries         = CreateChartEntries(),
                BackgroundColor = Colors.Blue,
                LabelColor      = Colors.Green,
                Width           = 400,
                Height          = 300,
            };
            controlStack.Children.Add(barChart);

            var pointChart = new PointChart()
            {
                Entries         = CreateChartEntries(),
                BackgroundColor = Colors.Red,
                LabelColor      = Colors.Maroon,
                Width           = 400,
                Height          = 300,
            };
            controlStack.Children.Add(pointChart);
#endif

#if false
            var radarChart = new RadarChart()
            {
                Entries       = CreateChartEntries(),
                LabelTextSize = 14,
                IsAnimated    = false,
                Width         = 400,
                Height        = 400,
            };
            radarChart.Build();

            var radarChartWpf = new StandardUIUserControlWpf(radarChart);
            radarChartWpf.HorizontalAlignment = HorizontalAlignment.Left;
            controlStack.Children.Add(radarChartWpf);
#endif
        }
예제 #30
0
        private async Task PollValuesAsync()
        {
            await Task.Delay(500);


            List <Consume> cosumes = cosumeService.GetConsumes();
            var            entries = cosumes.Select(x => new Microcharts.Entry((float)x.Amount)
            {
                Label = ChartHelper.ToWord(x.DataType), ValueLabel = x.Amount.ToString(), Color = ChartHelper.GetRandomColor()
            });

            var _chart = new RadarChart();

            _chart.Entries       = entries;
            _chart.LabelTextSize = 40;
            this.Chart           = _chart;
            OnPropertyChanged(nameof(Chart));
        }
예제 #31
0
 public static Chart CreateChart(ChartType type, ChartModel model)
 {
   Chart chart = null;
   if (type == ChartType.VBAR || 
       type == ChartType.VBAR_STACKED || 
       type == ChartType.BAR_LINE_COMBO ||
       type == ChartType.BAR_AREA_COMBO ||
       type == ChartType.BAR_LINE_AREA_COMBO)
   {
     chart = new BarChart(type, model);
   }
   else if (type == ChartType.HBAR || type == ChartType.HBAR_STACKED)
   {
     chart = new HorizontalBarChart(type, model);
   }
   else if( type == ChartType.CYLINDERBAR)
   {
     chart = new CylinderBarChart(type, model);
   }
   
   else if (type == ChartType.PIE)
   {
     chart = new PieChart(type, model);
   }
   else if (type == ChartType.AREA || type == ChartType.AREA_STACKED)
   {
     chart = new AreaChart(type, model);
   }
   else if (type == ChartType.LINE)
   {
     chart = new LineChart(type, model);
   }
   else if (type == ChartType.SCATTER_PLOT)
   {
     chart = new ScatterPlotChart(type, model);
   }
   else if (type == ChartType.XYLINE)
   {
     chart = new XYLineChart(type, model);
   }
   else if (type == ChartType.RADAR || type == ChartType.RADAR_AREA)
   {
     chart = new RadarChart(type, model);
   }
   else if (type == ChartType.FUNNEL)
   {
     chart = new FunnelChart(type, model);
   }
   else if (type == ChartType.SEMI_CIRCULAR_GAUGE)
   {
     chart = new SemiCircularGaugeChart(type, model);
   }
   else if (type == ChartType.CIRCULAR_GAUGE)
   {
     chart = new GaugeChart(type, model);
   }
   else if (type == ChartType.CANDLE_STICK)
   {
     chart = new CandleStickChart(type, model);
   }
   return chart;
 }