예제 #1
0
            public static ChartTypeModel NewVerticallyStackedColumns(PenStyle.Builder penBuilder, bool isOneHundredPercent)
            {
                var collection = new VerticallyStackedColumnsCollection {
                    IsOneHundredPercent = isOneHundredPercent
                };

                for (var i = 0; i < 5; i++)
                {
                    var dataSeries = new XyDataSeries <double, double> {
                        SeriesName = "Series " + (i + 1)
                    };
                    dataSeries.Append(DashboardDataHelper.XValues, DashboardDataHelper.YValues[i]);

                    var rSeries = new StackedColumnRenderableSeries
                    {
                        DataSeries     = dataSeries,
                        StrokeStyle    = penBuilder.WithColor(new Color(SeriesColors[i * 2])).WithThickness(1f, ComplexUnitType.Dip).Build(),
                        FillBrushStyle = new LinearGradientBrushStyle(0, 0, 0, 1, new Color(SeriesColors[i * 2 + 1]), new Color(SeriesColors[i * 2]), TileMode.Clamp)
                    };
                    collection.Add(rSeries);
                }

                var name = isOneHundredPercent ? "100% " : "";

                name += "Stacked columns";
                return(new ChartTypeModel(collection, name));
            }
            public static ChartTypeModel NewVerticallyStackedColumns(Context context, bool isOneHundredPercent)
            {
                var collection = new VerticallyStackedColumnsCollection {
                    IsOneHundredPercent = isOneHundredPercent
                };

                for (var i = 0; i < 5; i++)
                {
                    var dataSeries = new XyDataSeries <double, double> {
                        SeriesName = "Series " + (i + 1)
                    };
                    dataSeries.Append(DashboardDataHelper.XValues, DashboardDataHelper.YValues[i]);

                    var rSeries = new StackedColumnRenderableSeries
                    {
                        DataSeries     = dataSeries,
                        StrokeStyle    = new SolidPenStyle(context, new Color(SeriesColors[i * 2])),
                        FillBrushStyle = new LinearGradientBrushStyle(0, 0, 0, 1, new Color(SeriesColors[i * 2 + 1]), new Color(SeriesColors[i * 2]))
                    };
                    collection.Add(rSeries);
                }

                var name = isOneHundredPercent ? "100% " : "";

                name += "Stacked columns";
                return(new ChartTypeModel(collection, name));
            }
        protected override void InitExample()
        {
            var xAxis = new NumericAxis(Activity)
            {
                AxisAlignment = AxisAlignment.Left
            };
            var yAxis = new NumericAxis(Activity)
            {
                AxisAlignment = AxisAlignment.Bottom, FlipCoordinates = true
            };

            var yValues1 = new[] { 0.0, 0.1, 0.2, 0.4, 0.8, 1.1, 1.5, 2.4, 4.6, 8.1, 11.7, 14.4, 16.0, 13.7, 10.1, 6.4, 3.5, 2.5, 5.4, 6.4, 7.1, 8.0, 9.0 };
            var yValues2 = new[] { 2.0, 10.1, 10.2, 10.4, 10.8, 1.1, 11.5, 3.4, 4.6, 0.1, 1.7, 14.4, 16.0, 13.7, 10.1, 6.4, 3.5, 2.5, 1.4, 0.4, 10.1, 0.0, 0.0 };
            var yValues3 = new[] { 20.0, 4.1, 4.2, 10.4, 10.8, 1.1, 11.5, 3.4, 4.6, 5.1, 5.7, 14.4, 16.0, 13.7, 10.1, 6.4, 3.5, 2.5, 1.4, 10.4, 8.1, 10.0, 15.0 };

            var ds1 = new XyDataSeries <double, double> {
                SeriesName = "data 1"
            };
            var ds2 = new XyDataSeries <double, double> {
                SeriesName = "data 2"
            };
            var ds3 = new XyDataSeries <double, double> {
                SeriesName = "data 3"
            };

            for (var i = 0; i < yValues1.Length; i++)
            {
                ds1.Append(i, yValues1[i]);
                ds2.Append(i, yValues2[i]);
                ds3.Append(i, yValues3[i]);
            }

            var series1 = GetRenderableSeries(ds1, Color.Rgb(0x56, 0x78, 0x93), Color.Rgb(0x56, 0x78, 0x93), Color.Rgb(0x3D, 0x55, 0x68));
            var series2 = GetRenderableSeries(ds2, Color.Rgb(0xAC, 0xBC, 0xCA), Color.Rgb(0xAC, 0xBC, 0xCA), Color.Rgb(0x43, 0x9A, 0xAF));
            var series3 = GetRenderableSeries(ds3, Color.Rgb(0xDB, 0xE0, 0xE1), Color.Rgb(0xDB, 0xE0, 0xE1), Color.Rgb(0xB6, 0xC1, 0xC3));

            var columnsCollection = new VerticallyStackedColumnsCollection();

            columnsCollection.Add(series1);
            columnsCollection.Add(series2);
            columnsCollection.Add(series3);

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(columnsCollection);

                Surface.ChartModifiers = new ChartModifierCollection
                {
                    new CursorModifier(),
                    new ZoomExtentsModifier(),
                };
            }
        }
예제 #4
0
        protected override void InitExample()
        {
            var xAxis = new NumericAxis(Activity);
            var yAxis = new NumericAxis(Activity);

            var porkData     = new double[] { 10, 13, 7, 16, 4, 6, 20, 14, 16, 10, 24, 11 };
            var vealData     = new double[] { 12, 17, 21, 15, 19, 18, 13, 21, 22, 20, 5, 10 };
            var tomatoesData = new double[] { 7, 30, 27, 24, 21, 15, 17, 26, 22, 28, 21, 22 };
            var cucumberData = new double[] { 16, 10, 9, 8, 22, 14, 12, 27, 25, 23, 17, 17 };
            var pepperData   = new double[] { 7, 24, 21, 11, 19, 17, 14, 27, 26, 22, 28, 16 };

            var ds1 = new XyDataSeries <double, double> {
                SeriesName = "Pork Series"
            };
            var ds2 = new XyDataSeries <double, double> {
                SeriesName = "Veal Series"
            };
            var ds3 = new XyDataSeries <double, double> {
                SeriesName = "Tomato Series"
            };
            var ds4 = new XyDataSeries <double, double> {
                SeriesName = "Cucumber Series"
            };
            var ds5 = new XyDataSeries <double, double> {
                SeriesName = "Pepper Series"
            };

            const int data = 1992;

            for (var i = 0; i < porkData.Length; i++)
            {
                ds1.Append(data + i, porkData[i]);
                ds2.Append(data + i, vealData[i]);
                ds3.Append(data + i, tomatoesData[i]);
                ds4.Append(data + i, cucumberData[i]);
                ds5.Append(data + i, pepperData[i]);
            }

            var porkSeries     = GetRenderableSeries(ds1, Color.Rgb(0x22, 0x57, 0x9D), Color.Rgb(0x22, 0x6f, 0xb7));
            var vealSeries     = GetRenderableSeries(ds1, Color.Rgb(0xBE, 0x64, 0x2D), Color.Rgb(0xff, 0x9a, 0x2e));
            var tomatoSeries   = GetRenderableSeries(ds1, Color.Rgb(0xA3, 0x36, 0x31), Color.Rgb(0xdc, 0x44, 0x3f));
            var cucumberSeries = GetRenderableSeries(ds1, Color.Rgb(0x73, 0x95, 0x3D), Color.Rgb(0xaa, 0xd3, 0x4f));
            var pepperSeries   = GetRenderableSeries(ds1, Color.Rgb(0x64, 0x45, 0x8A), Color.Rgb(0x85, 0x62, 0xb4));

            var verticalCollection1 = new VerticallyStackedColumnsCollection();

            verticalCollection1.Add(porkSeries);
            verticalCollection1.Add(vealSeries);

            var verticalCollection2 = new VerticallyStackedColumnsCollection();

            verticalCollection2.Add(tomatoSeries);
            verticalCollection2.Add(cucumberSeries);
            verticalCollection2.Add(pepperSeries);

            var columnsCollection = new HorizontallyStackedColumnsCollection();

            columnsCollection.Add(verticalCollection1);
            columnsCollection.Add(verticalCollection2);

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(columnsCollection);

                Surface.ChartModifiers = new ChartModifierCollection
                {
                    new RolloverModifier(),
                    new ZoomExtentsModifier(),
                };
            }
        }
예제 #5
0
        protected override void InitExample()
        {
            var xAxis = new NumericAxis(Activity)
            {
                AxisAlignment = AxisAlignment.Left
            };
            var yAxis = new NumericAxis(Activity)
            {
                AxisAlignment = AxisAlignment.Bottom, FlipCoordinates = true
            };

            var yValues1 = new[] { 0.0, 0.1, 0.2, 0.4, 0.8, 1.1, 1.5, 2.4, 4.6, 8.1, 11.7, 14.4, 16.0, 13.7, 10.1, 6.4, 3.5, 2.5, 5.4, 6.4, 7.1, 8.0, 9.0 };
            var yValues2 = new[] { 2.0, 10.1, 10.2, 10.4, 10.8, 1.1, 11.5, 3.4, 4.6, 0.1, 1.7, 14.4, 16.0, 13.7, 10.1, 6.4, 3.5, 2.5, 1.4, 0.4, 10.1, 0.0, 0.0 };
            var yValues3 = new[] { 20.0, 4.1, 4.2, 10.4, 10.8, 1.1, 11.5, 3.4, 4.6, 5.1, 5.7, 14.4, 16.0, 13.7, 10.1, 6.4, 3.5, 2.5, 1.4, 10.4, 8.1, 10.0, 15.0 };

            var ds1 = new XyDataSeries <double, double> {
                SeriesName = "data 1"
            };
            var ds2 = new XyDataSeries <double, double> {
                SeriesName = "data 2"
            };
            var ds3 = new XyDataSeries <double, double> {
                SeriesName = "data 3"
            };

            for (var i = 0; i < yValues1.Length; i++)
            {
                ds1.Append(i, yValues1[i]);
                ds2.Append(i, yValues2[i]);
                ds3.Append(i, yValues3[i]);
            }

            var series1 = GetRenderableSeries(ds1, 0xFF567893, 0xFF567893, 0xFF3D5568);
            var series2 = GetRenderableSeries(ds2, 0xFFACBCCA, 0xFFACBCCA, 0xFF439AAF);
            var series3 = GetRenderableSeries(ds3, 0xFFDBE0E1, 0xFFDBE0E1, 0xFFB6C1C3);

            var columnsCollection = new VerticallyStackedColumnsCollection();

            columnsCollection.Add(series1);
            columnsCollection.Add(series2);
            columnsCollection.Add(series3);

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(columnsCollection);
                Surface.ChartModifiers = new ChartModifierCollection
                {
                    new CursorModifier(),
                    new ZoomExtentsModifier()
                };

                new WaveAnimatorBuilder(series1)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
                new WaveAnimatorBuilder(series2)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
                new WaveAnimatorBuilder(series3)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
            }
        }
예제 #6
0
        protected override void InitExample()
        {
            var xAxis = new NumericAxis(Activity);
            var yAxis = new NumericAxis(Activity);

            var porkData     = new double[] { 10, 13, 7, 16, 4, 6, 20, 14, 16, 10, 24, 11 };
            var vealData     = new double[] { 12, 17, 21, 15, 19, 18, 13, 21, 22, 20, 5, 10 };
            var tomatoesData = new double[] { 7, 30, 27, 24, 21, 15, 17, 26, 22, 28, 21, 22 };
            var cucumberData = new double[] { 16, 10, 9, 8, 22, 14, 12, 27, 25, 23, 17, 17 };
            var pepperData   = new double[] { 7, 24, 21, 11, 19, 17, 14, 27, 26, 22, 28, 16 };

            var ds1 = new XyDataSeries <double, double> {
                SeriesName = "Pork Series"
            };
            var ds2 = new XyDataSeries <double, double> {
                SeriesName = "Veal Series"
            };
            var ds3 = new XyDataSeries <double, double> {
                SeriesName = "Tomato Series"
            };
            var ds4 = new XyDataSeries <double, double> {
                SeriesName = "Cucumber Series"
            };
            var ds5 = new XyDataSeries <double, double> {
                SeriesName = "Pepper Series"
            };

            const int data = 1992;

            for (var i = 0; i < porkData.Length; i++)
            {
                ds1.Append(data + i, porkData[i]);
                ds2.Append(data + i, vealData[i]);
                ds3.Append(data + i, tomatoesData[i]);
                ds4.Append(data + i, cucumberData[i]);
                ds5.Append(data + i, pepperData[i]);
            }

            var porkSeries     = GetRenderableSeries(ds1, 0xFF22579D, 0xFF226FB7);
            var vealSeries     = GetRenderableSeries(ds2, 0xFFBE642D, 0xFFFF9A2E);
            var tomatoSeries   = GetRenderableSeries(ds3, 0xFFA33631, 0xFFDC443F);
            var cucumberSeries = GetRenderableSeries(ds4, 0xFF73953D, 0xFFAAD34F);
            var pepperSeries   = GetRenderableSeries(ds5, 0xFF64458A, 0xFF8562B4);

            var verticalCollection1 = new VerticallyStackedColumnsCollection();

            verticalCollection1.Add(porkSeries);
            verticalCollection1.Add(vealSeries);

            var verticalCollection2 = new VerticallyStackedColumnsCollection();

            verticalCollection2.Add(tomatoSeries);
            verticalCollection2.Add(cucumberSeries);
            verticalCollection2.Add(pepperSeries);

            var columnsCollection = new HorizontallyStackedColumnsCollection();

            columnsCollection.Add(verticalCollection1);
            columnsCollection.Add(verticalCollection2);

            using (Surface.SuspendUpdates())
            {
                Surface.XAxes.Add(xAxis);
                Surface.YAxes.Add(yAxis);
                Surface.RenderableSeries.Add(columnsCollection);
                Surface.ChartModifiers = new ChartModifierCollection
                {
                    new RolloverModifier(),
                    new ZoomExtentsModifier(),
                };

                new WaveAnimatorBuilder(porkSeries)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
                new WaveAnimatorBuilder(vealSeries)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
                new WaveAnimatorBuilder(tomatoSeries)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
                new WaveAnimatorBuilder(cucumberSeries)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
                new WaveAnimatorBuilder(pepperSeries)
                {
                    Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350
                }.Start();
            }
        }