Пример #1
0
        private void InitChart()
        {
            try
            {
                ChartBrushes = new List <Brush>();
                ChartBrushes.Add(Brushes.Blue);
                ChartBrushes.Add(Brushes.Green);
                ChartBrushes.Add(Brushes.LightSalmon);
                ChartBrushes.Add(Brushes.DarkRed);
                ChartBrushes.Add(Brushes.Gold);
                ChartBrushes.Add(Brushes.CadetBlue);
                ChartBrushes.Add(Brushes.Coral);
                ChartBrushes.Add(Brushes.Crimson);
                ChartBrushes.Add(Brushes.Indigo);
                ChartBrushes.Add(Brushes.PaleGreen);
                ChartBrushes.Add(Brushes.OrangeRed);
                ChartBrushes.Add(Brushes.Purple);
                ChartBrushes.Add(Brushes.Fuchsia);
                ChartBrushes.Add(Brushes.AliceBlue);
                ChartBrushes.Add(Brushes.Orange);
                ChartBrushes.Add(Brushes.Purple);
                ChartBrushes.Add(Brushes.Chartreuse);
                ChartBrushes.Add(Brushes.MediumBlue);
                ChartBrushes.Add(Brushes.Chocolate);

                int countItems = ItemsId.Count;

                if (ItemsId != null)
                {
                    for (int i = 0; i < countItems; i++)
                    {
                        switch (ChartType)
                        {
                        case ChartType.AreaSeries:
                            Chart.Series.Add(new AreaSeries());
                            AreaSeries series1 = (AreaSeries)this.Chart.Series[i];
                            series1.CategoryBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Time"
                            };
                            series1.ValueBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Value"
                            };
                            series1.Stroke          = ChartBrushes[i];
                            series1.StrokeThickness = 2;
                            break;

                        case ChartType.LineSeries:
                            Chart.Series.Add(new LineSeries());
                            LineSeries series2 = (LineSeries)this.Chart.Series[i];
                            series2.CategoryBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Time"
                            };
                            series2.ValueBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Value"
                            };
                            series2.Stroke          = ChartBrushes[i];
                            series2.StrokeThickness = 2;
                            break;

                        case ChartType.PointSeries:
                            Chart.Series.Add(new PointSeries());
                            PointSeries series3 = (PointSeries)this.Chart.Series[i];
                            series3.CategoryBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Time"
                            };
                            series3.ValueBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Value"
                            };
                            break;

                        case ChartType.SplineAreaSeries:
                            Chart.Series.Add(new SplineAreaSeries());
                            SplineAreaSeries series4 = (SplineAreaSeries)this.Chart.Series[i];
                            series4.CategoryBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Time"
                            };
                            series4.ValueBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Value"
                            };
                            series4.Stroke          = ChartBrushes[i];
                            series4.StrokeThickness = 2;
                            break;

                        case ChartType.SplineSeries:
                            Chart.Series.Add(new SplineSeries());
                            SplineSeries series5 = (SplineSeries)this.Chart.Series[i];
                            series5.CategoryBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Time"
                            };
                            series5.ValueBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Value"
                            };
                            series5.Stroke          = ChartBrushes[i];
                            series5.StrokeThickness = 2;
                            break;

                        case ChartType.StepAreaSeries:
                            Chart.Series.Add(new StepAreaSeries());
                            StepAreaSeries series6 = (StepAreaSeries)this.Chart.Series[i];
                            series6.CategoryBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Time"
                            };
                            series6.ValueBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Value"
                            };
                            series6.Stroke          = ChartBrushes[i];
                            series6.StrokeThickness = 2;
                            break;

                        case ChartType.StepLineSeries:
                            Chart.Series.Add(new StepLineSeries());
                            StepLineSeries series7 = (StepLineSeries)this.Chart.Series[i];
                            series7.CategoryBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Time"
                            };
                            series7.ValueBinding = new PropertyNameDataPointBinding()
                            {
                                PropertyName = "Value"
                            };
                            series7.Stroke          = ChartBrushes[i];
                            series7.StrokeThickness = 2;
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogIndustrialMonitoring(ex);
            }
        }
Пример #2
0
        void WindowChartHistory_ShowDataCompleted(object sender, ShowDataCompletedEventArgs e)
        {
            try
            {
                if (ItemsId.Count == 1)
                {
                    TextBlockTitle.Text = string.Format("{0} {1}-{2}", e.CurrentItem.ItemName, this.StartTime.ToString(), this.EndTime.ToString());
                }
                else
                {
                    TextBlockTitle.Text = string.Format("Compare {0}-{1}", this.StartTime.ToString(), this.EndTime.ToString());
                }

                switch (ChartType)
                {
                case ChartType.AreaSeries:
                    AreaSeries series1 = (AreaSeries)this.Chart.Series[e.ItemId.Key];
                    series1.ItemsSource = e.Data;
                    break;

                case ChartType.LineSeries:
                    LineSeries series2 = (LineSeries)this.Chart.Series[e.ItemId.Key];
                    series2.ItemsSource = e.Data;
                    break;

                case ChartType.PointSeries:
                    PointSeries series3 = (PointSeries)this.Chart.Series[e.ItemId.Key];
                    series3.ItemsSource = e.Data;
                    break;

                case ChartType.SplineAreaSeries:
                    SplineAreaSeries series4 = (SplineAreaSeries)this.Chart.Series[e.ItemId.Key];
                    series4.ItemsSource = e.Data;
                    break;

                case ChartType.SplineSeries:
                    SplineSeries series5 = (SplineSeries)this.Chart.Series[e.ItemId.Key];
                    series5.ItemsSource = e.Data;
                    break;

                case ChartType.StepAreaSeries:
                    StepAreaSeries series6 = (StepAreaSeries)this.Chart.Series[e.ItemId.Key];
                    series6.ItemsSource = e.Data;
                    break;

                case ChartType.StepLineSeries:
                    StepLineSeries series7 = (StepLineSeries)this.Chart.Series[e.ItemId.Key];
                    series7.ItemsSource = e.Data;
                    break;
                }

                Chart.Zoom = new Size(1, 1);

                if (e.GenerateLegend)
                {
                    ChartLegend.Items.Add(new LegendItem()
                    {
                        MarkerFill = ChartBrushes[e.ItemId.Key], Title = e.CurrentItem.ItemName
                    });
                }

                BusyIndicator.IsBusy = false;
            }
            catch (Exception ex)
            {
                Logger.LogIndustrialMonitoring(ex);
            }
        }