示例#1
0
        void lbSeriesType_SelectedIndexChanged(object sender, RoutedEventArgs e)
        {
            SeriesTypeItem item = lbSeriesType.SelectedItem as SeriesTypeItem;

            if (item != null)
            {
                FinancialSeries2D series = Activator.CreateInstance(item.SeriesType) as FinancialSeries2D;
                if (series != null)
                {
                    series.Label = new SeriesLabel();
                    DataTemplate labelTemplate = chart.Resources["labelTemplate"] as DataTemplate;
                    if (labelTemplate != null)
                    {
                        series.Label.ElementTemplate = labelTemplate;
                    }
                    series.AnimationAutoStartMode = AnimationAutoStartMode.SetStartState;
                    AddPoint(series, 1, 1.1, 2.9, 2.7, 1.6);
                    AddPoint(series, 2, 1.9, 2.6, 2.4, 2.1);
                    AddPoint(series, 3, 0.7, 2.4, 1.3, 2.1);
                    AddPoint(series, 4, 1.8, 2.8, 2.4, 1.9);
                    AddPoint(series, 5, 2.1, 3.4, 2.3, 3.1);
                    AddPoint(series, 6, 2.2, 3.2, 3.0, 2.6);
                    AddPoint(series, 7, 1.4, 2.7, 2.3, 2.5);
                    AddPoint(series, 8, 2.1, 3.6, 3.2, 2.7);
                    AddPoint(series, 9, 1.2, 3.1, 1.6, 2.6);
                    AddPoint(series, 10, 2.7, 4.1, 3.4, 4.0);
                    chart.Diagram.Series.Clear();
                    chart.Diagram.Series.Add(series);
                    if (!loading)
                    {
                        chart.Animate();
                    }
                }
            }
        }
示例#2
0
        void lbSeriesType_SelectedIndexChanged(object sender, RoutedEventArgs e)
        {
            SeriesTypeItem item = lbSeriesType.SelectedItem as SeriesTypeItem;

            if (item != null)
            {
                FillSeries(Activator.CreateInstance(item.SeriesType) as MarkerSeries2D);
            }
        }
示例#3
0
        void UpdateSeries()
        {
            SeriesTypeItem seriesTypeItem = cbSeriesTypes.SelectedItem as SeriesTypeItem;

            if (seriesTypeItem != null)
            {
                chart.BeginInit();
                try {
                    chart.Diagram = (Diagram)Activator.CreateInstance(seriesTypeItem.DiagramType);
                    for (int i = 0; i < seriesTypeItem.SeriesCount; i++)
                    {
                        Series series = (Series)Activator.CreateInstance(seriesTypeItem.SeriesType);
                        if (loading)
                        {
                            series.AnimationAutoStartMode = AnimationAutoStartMode.SetStartState;
                        }
                        series.Label = new SeriesLabel();

                        UpdateSeries(series, i);

                        ISupportStackedGroup supportStackedGroup = series as ISupportStackedGroup;
                        if (supportStackedGroup != null)
                        {
                            supportStackedGroup.StackedGroup = i % 2;
                        }
                        ISupportTransparency supportTransparency = series as ISupportTransparency;
                        if (supportTransparency != null)
                        {
                            supportTransparency.Transparency = 0.3;
                        }
                        series.LabelsVisibility             = true;
                        series.Label.ResolveOverlappingMode = ResolveOverlappingMode.Default;
                        chart.Diagram.Series.Add(series);
                    }
                }
                finally {
                    chart.EndInit();
                }
            }
        }
        void ChangeDiagram(SeriesTypeItem item)
        {
            if (item == null)
            {
                return;
            }
            chart.Diagram = (Diagram)Activator.CreateInstance(item.DiagramType);
            bool        isAreaFullStackedSeries = false;
            Axis        axisX = null, axisY = null;
            XYDiagram2D diagram2D = chart.Diagram as XYDiagram2D;

            if (diagram2D != null)
            {
                chart.Legend.HorizontalPosition = HorizontalPosition.RightOutside;
                diagram2D.AxisX         = new AxisX2D();
                diagram2D.AxisY         = new AxisY2D();
                axisX                   = diagram2D.AxisX;
                axisY                   = diagram2D.AxisY;
                isAreaFullStackedSeries = item.SeriesType == typeof(AreaFullStackedSeries2D);
            }
            else
            {
                chart.Legend.HorizontalPosition = HorizontalPosition.Right;
                XYDiagram3D diagram3D = chart.Diagram as XYDiagram3D;
                if (diagram3D != null)
                {
                    diagram3D.AxisX          = new AxisX3D();
                    diagram3D.AxisY          = new AxisY3D();
                    axisX                    = diagram3D.AxisX;
                    axisY                    = diagram3D.AxisY;
                    diagram3D.SeriesPadding  = 0.5;
                    diagram3D.SeriesDistance = 1.5;
                    isAreaFullStackedSeries  = item.SeriesType == typeof(AreaFullStackedSeries3D);
                }
            }
            if (axisX != null)
            {
                axisX.Label = new AxisLabel()
                {
                    TextPattern = "{A:m}"
                };
            }
            if (axisY != null)
            {
                if (isAreaFullStackedSeries)
                {
                    axisY.Label = new AxisLabel()
                    {
                        TextPattern = "{VP:P0}"
                    }
                }
                ;
                else
                {
                    axisY.Title         = new AxisTitle();
                    axisY.Title.Content = "Number of visitors";
                }
            }
            Series politicsSeries = (Series)Activator.CreateInstance(item.SeriesType);

            politicsSeries.DisplayName     = "Politics";
            politicsSeries.ValueDataMember = "Politics";
            PrepareSeriesAnimation(politicsSeries, 0);
            Series entertainmentSeries = (Series)Activator.CreateInstance(item.SeriesType);

            entertainmentSeries.DisplayName     = "Entertainment";
            entertainmentSeries.ValueDataMember = "Entertainment";
            PrepareSeriesAnimation(entertainmentSeries, 1);
            Series travelSeries = (Series)Activator.CreateInstance(item.SeriesType);

            travelSeries.DisplayName     = "Travel";
            travelSeries.ValueDataMember = "Travel";
            PrepareSeriesAnimation(travelSeries, 2);
            chart.Diagram.Series.AddRange(new Series[] { politicsSeries, entertainmentSeries, travelSeries });
            foreach (Series series in chart.Diagram.Series)
            {
                ISupportTransparency supportTransparency = series as ISupportTransparency;
                if (supportTransparency != null)
                {
                    supportTransparency.Transparency = 0.5;
                }
                series.Label = new SeriesLabel();
                if (isAreaFullStackedSeries)
                {
                    series.Label.TextPattern = "{VP:P0}";
                }
                series.LabelsVisibility             = cheLabelsVisible.IsChecked.Value;
                series.Label.ResolveOverlappingMode = ResolveOverlappingMode.Default;
                series.ArgumentScaleType            = ScaleType.DateTime;
                series.ArgumentDataMember           = "Date";
                series.DataSource = dataSource;
            }
        }