Пример #1
0
        /// <summary>
        /// Executes the chart demo.
        /// </summary>
        /// <param name="context"> the context </param>
        /// <returns> the built intent </returns>
        public override Intent Execute(Context context)
        {
            string[]         titles = new string[] { "2007", "2008" };
            IList <double[]> values = new List <double[]>();

            values.Add(new double[] { 5230, 7300, 9240, 10540, 7900, 9200, 12030, 11200, 9500, 10500, 11600, 13500 });
            values.Add(new double[] { 14230, 12300, 14240, 15244, 15900, 19200, 22030, 21200, 19500, 15500, 12600, 14000 });
            int[] colors = new int[] { Color.Cyan, Color.Blue };
            XYMultipleSeriesRenderer renderer = BuildBarRenderer(colors);

            renderer.SetOrientation(XYMultipleSeriesRenderer.Orientation.Vertical);
            SetChartSettings(renderer, "Monthly sales in the last 2 years", "Month", "Units sold", 0.5, 12.5, 0, 24000, Color.Gray, Color.LightGray);
            renderer.XLabels = 1;
            renderer.YLabels = 10;
            renderer.AddXTextLabel(1, "Jan");
            renderer.AddXTextLabel(3, "Mar");
            renderer.AddXTextLabel(5, "May");
            renderer.AddXTextLabel(7, "Jul");
            renderer.AddXTextLabel(10, "Oct");
            renderer.AddXTextLabel(12, "Dec");
            int length = renderer.SeriesRendererCount;

            for (int i = 0; i < length; i++)
            {
                SimpleSeriesRenderer seriesRenderer = renderer.GetSeriesRendererAt(i);
                seriesRenderer.DisplayChartValues = true;
            }
            return(ChartFactory.GetBarChartIntent(context, BuildBarDataset(titles, values), renderer, global::AChartEngine.Charts.BarChart.Type.Default));
        }
Пример #2
0
        public override Android.Content.Intent Execute(Android.Content.Context context)
        {
            String[]         titles = new String[] { "Series 1", "Series 2", "Series 3", "Series 4", "Series 5" };
            IList <double[]> x      = new List <double[]>();
            IList <double[]> values = new List <double[]>();
            int    count            = 20;
            int    length           = titles.Length;
            Random r = new Random();

            for (int i = 0; i < length; i++)
            {
                double[] xValues = new double[count];
                double[] yValues = new double[count];
                for (int k = 0; k < count; k++)
                {
                    xValues[k] = k + r.Next() % 10;
                    yValues[k] = k * 2 + r.Next() % 10;
                }
                x.Add(xValues);
                values.Add(yValues);
            }
            int[]                    colors   = new int[] { Color.Blue, Color.Cyan, Color.Magenta, Color.LightGray, Color.Green };
            PointStyle[]             styles   = new PointStyle[] { PointStyle.X, PointStyle.Diamond, PointStyle.Triangle, PointStyle.Square, PointStyle.Circle };
            XYMultipleSeriesRenderer renderer = BuildRenderer(colors, styles);

            SetChartSettings(renderer, "Scatter chart", "X", "Y", -10, 30, -10, 51, Color.Gray, Color.LightGray);
            renderer.XLabels = 10;
            renderer.YLabels = 10;
            length           = renderer.SeriesRendererCount;
            for (int i = 0; i < length; i++)
            {
                ((XYSeriesRenderer)renderer.GetSeriesRendererAt(i)).FillPoints = true;
            }
            return(ChartFactory.GetScatterChartIntent(context, BuildDataset(titles, x, values), renderer));
        }
Пример #3
0
        /// <summary>
        /// Executes the chart demo.
        /// </summary>
        /// <param name="context"> the context </param>
        /// <returns> the built intent </returns>
        public override Intent Execute(Context context)
        {
            string[] titles = new string[] { "Sales growth January 1995 to December 2000" };
            IList <Java.Util.Date[]> dates  = new List <Java.Util.Date[]>();
            IList <double[]>         values = new List <double[]>();

            Java.Util.Date[] dateValues = new Java.Util.Date[]
            {
                new Java.Util.Date(95, 0, 1),
                new Java.Util.Date(95, 3, 1),
                new Java.Util.Date(95, 6, 1),
                new Java.Util.Date(95, 9, 1),
                new Java.Util.Date(96, 0, 1),
                new Java.Util.Date(96, 3, 1),
                new Java.Util.Date(96, 6, 1),
                new Java.Util.Date(96, 9, 1),
                new Java.Util.Date(97, 0, 1),
                new Java.Util.Date(97, 3, 1),
                new Java.Util.Date(97, 6, 1),
                new Java.Util.Date(97, 9, 1),
                new Java.Util.Date(98, 0, 1),
                new Java.Util.Date(98, 3, 1),
                new Java.Util.Date(98, 6, 1),
                new Java.Util.Date(98, 9, 1),
                new Java.Util.Date(99, 0, 1),
                new Java.Util.Date(99, 3, 1),
                new Java.Util.Date(99, 6, 1),
                new Java.Util.Date(99, 9, 1),
                new Java.Util.Date(100, 0, 1),
                new Java.Util.Date(100, 3, 1),
                new Java.Util.Date(100, 6, 1),
                new Java.Util.Date(100, 9, 1),
                new Java.Util.Date(100, 11, 1)
            };
            dates.Add(dateValues);

            values.Add(new double[] { 4.9, 5.3, 3.2, 4.5, 6.5, 4.7, 5.8, 4.3, 4, 2.3, -0.5, -2.9, 3.2, 5.5, 4.6, 9.4, 4.3, 1.2, 0, 0.4, 4.5, 3.4, 4.5, 4.3, 4 });
            int[]                    colors   = new int[] { Color.Blue };
            PointStyle[]             styles   = new PointStyle[] { PointStyle.Point };
            XYMultipleSeriesRenderer renderer = BuildRenderer(colors, styles);

            SetChartSettings(renderer, "Sales growth", "Date", "%", dateValues[0].Time, dateValues[dateValues.Length - 1].Time, -4, 11, Color.Gray, Color.LightGray);
            renderer.YLabels        = 10;
            renderer.XRoundedLabels = false;
            XYSeriesRenderer xyRenderer = (XYSeriesRenderer)renderer.GetSeriesRendererAt(0);

            XYSeriesRenderer.FillOutsideLine fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.FillOutsideLineType.BoundsAbove);
            fill.Color = Color.Green;
            xyRenderer.AddFillOutsideLine(fill);
            fill       = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.FillOutsideLineType.BoundsBelow);
            fill.Color = Color.Magenta;
            xyRenderer.AddFillOutsideLine(fill);
            fill       = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.FillOutsideLineType.BoundsAbove);
            fill.Color = Color.Argb(255, 0, 200, 100);
            fill.SetFillRange(new int[] { 10, 19 });
            xyRenderer.AddFillOutsideLine(fill);

            return(ChartFactory.GetTimeChartIntent(context, BuildDateDataset(titles, dates, values), renderer, "MMM yyyy"));
        }
Пример #4
0
        /// <summary>
        /// Executes the chart demo.
        /// </summary>
        /// <param name="context"> the context </param>
        /// <returns> the built intent </returns>
        public override Intent Execute(Context context)
        {
            string[]         titles = new string[] { "Air temperature" };
            IList <double[]> x      = new List <double[]>();

            for (int i = 0; i < titles.Length; i++)
            {
                x.Add(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 });
            }
            IList <double[]> values = new List <double[]>();

            values.Add(new double[] { 12.3, 12.5, 13.8, 16.8, 20.4, 24.4, 26.4, 26.1, 23.6, 20.3, 17.2, 13.9 });
            int[]                    colors   = new int[] { Color.Blue, Color.Yellow };
            PointStyle[]             styles   = new PointStyle[] { PointStyle.Point, PointStyle.Point };
            XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(2);

            SetRenderer(renderer, colors, styles);
            int length = renderer.SeriesRendererCount;

            for (int i = 0; i < length; i++)
            {
                XYSeriesRenderer r = (XYSeriesRenderer)renderer.GetSeriesRendererAt(i);
                r.LineWidth = 3f;
            }
            SetChartSettings(renderer, "Average temperature", "Month", "Temperature", 0.5, 12.5, 0, 32, Color.LightGray, Color.LightGray);
            renderer.XLabels = 12;
            renderer.YLabels = 10;
            renderer.SetShowGrid(true);
            renderer.XLabelsAlign = Android.Graphics.Paint.Align.Right;
            renderer.SetYLabelsAlign(Android.Graphics.Paint.Align.Right);
            renderer.ZoomButtonsVisible = true;
            renderer.SetPanLimits(new double[] { -10, 20, -10, 40 });
            renderer.SetZoomLimits(new double[] { -10, 20, -10, 40 });
            renderer.ZoomRate     = 1.05f;
            renderer.LabelsColor  = Color.White;
            renderer.XLabelsColor = Color.Green;
            renderer.SetYLabelsColor(0, colors[0]);
            renderer.SetYLabelsColor(1, colors[1]);

            renderer.SetYTitle("Hours", 1);
            renderer.SetYAxisAlign(Android.Graphics.Paint.Align.Right, 1);
            renderer.SetYLabelsAlign(Android.Graphics.Paint.Align.Left, 1);

            XYMultipleSeriesDataset dataset = BuildDataset(titles, x, values);

            values.Clear();
            values.Add(new double[] { 4.3, 4.9, 5.9, 8.8, 10.8, 11.9, 13.6, 12.8, 11.4, 9.5, 7.5, 5.5 });
            AddXYSeries(dataset, new string[] { "Sunshine hours" }, x, values, 1);

            Intent intent = ChartFactory.GetCubicLineChartIntent(context, dataset, renderer, 0.3f, "Average temperature");

            return(intent);
        }
Пример #5
0
        public override Android.Content.Intent Execute(Android.Content.Context context)
        {
            String[]         titles = new String[] { "2008", "2007" };
            IList <double[]> values = new List <double[]>();

            values.Add(new double[] { 14230, 12300, 14240, 15244, 15900, 19200, 22030, 21200, 19500, 15500, 12600, 14000 });
            values.Add(new double[] { 5230, 7300, 9240, 10540, 7900, 9200, 12030, 11200, 9500, 10500, 11600, 13500 });
            int[] colors = new int[] { Color.Blue, Color.Cyan };
            XYMultipleSeriesRenderer renderer = BuildBarRenderer(colors);

            SetChartSettings(renderer, "Monthly sales in the last 2 years", "Month", "Units sold", 0.5, 12.5, 0, 24000, Color.Gray, Color.LightGray);
            renderer.GetSeriesRendererAt(0).DisplayChartValues = true;
            renderer.GetSeriesRendererAt(1).DisplayChartValues = true;
            renderer.XLabels      = 12;
            renderer.YLabels      = 10;
            renderer.XLabelsAlign = Android.Graphics.Paint.Align.Left;
            renderer.SetYLabelsAlign(Android.Graphics.Paint.Align.Left);
            renderer.ZoomRate   = 1.1f;
            renderer.BarSpacing = 0.5f;
            return(ChartFactory.GetBarChartIntent(context, BuildBarDataset(titles, values), renderer, BarChart.Type.Stacked));
        }
        public override Android.Content.Intent Execute(Android.Content.Context context)
        {
            String[]         titles = new String[] { "Sales for 2008", "Sales for 2007", "Difference between 2008 and 2007 sales" };
            IList <double[]> values = new List <double[]>();

            values.Add(new double[] { 14230, 12300, 14240, 15244, 14900, 12200, 11030, 12000, 12500, 15500, 14600, 15000 });
            values.Add(new double[] { 10230, 10900, 11240, 12540, 13500, 14200, 12530, 11200, 10500, 12500, 11600, 13500 });
            int length = values[0].Length;

            double[] diff = new double[length];
            for (int i = 0; i < length; i++)
            {
                diff[i] = values[0][i] - values[1][i];
            }
            values.Add(diff);
            int[]                    colors   = new int[] { Color.Blue, Color.Cyan, Color.Green };
            PointStyle[]             styles   = new PointStyle[] { PointStyle.Point, PointStyle.Point, PointStyle.Point };
            XYMultipleSeriesRenderer renderer = BuildRenderer(colors, styles);

            SetChartSettings(renderer, "Monthly sales int the last 2 years", "Month", "Units sold", 0.75, 12.25, -5000, 19000, Color.Gray, Color.LightGray);
            renderer.XLabels            = 12;
            renderer.YLabels            = 10;
            renderer.ChartTitleTextSize = 20;
            renderer.SetTextTypeface("sans_serif", (int)TypefaceStyle.Bold);
            renderer.LabelsTextSize    = 14f;
            renderer.AxisTitleTextSize = 15;
            renderer.LegendTextSize    = 15;
            length = renderer.SeriesRendererCount;

            for (int i = 0; i < length; i++)
            {
                XYSeriesRenderer seriesRenderer = (XYSeriesRenderer)renderer.GetSeriesRendererAt(i);
                if (i == length - 1)
                {
                    Org.Achartengine.Renderer.XYSeriesRenderer.FillOutsideLine fill = new XYSeriesRenderer.FillOutsideLine(Org.Achartengine.Renderer.XYSeriesRenderer.FillOutsideLine.Type.BoundsAll);
                    fill.Color = Color.Green;
                    seriesRenderer.AddFillOutsideLine(fill);
                }
                seriesRenderer.LineWidth           = 2.5f;
                seriesRenderer.DisplayChartValues  = true;
                seriesRenderer.ChartValuesTextSize = 10f;
            }
            return(ChartFactory.GetCubicLineChartIntent(context, BuildBarDataset(titles, values), renderer, 0.5f));
        }
Пример #7
0
        /// <summary>
        /// Executes the chart demo.
        /// </summary>
        /// <param name="context"> the context </param>
        /// <returns> the built intent </returns>
        public override Intent Execute(Context context)
        {
            string[] titles = new string[] { "New tickets", "Fixed tickets" };
            IList <Java.Util.Date[]> dates  = new List <Java.Util.Date[]>();
            IList <double[]>         values = new List <double[]>();
            int length = titles.Length;

            for (int i = 0; i < length; i++)
            {
                dates.Add(new Java.Util.Date[12]);
                dates[i][0]  = new Java.Util.Date(108, 9, 1);
                dates[i][1]  = new Java.Util.Date(108, 9, 8);
                dates[i][2]  = new Java.Util.Date(108, 9, 15);
                dates[i][3]  = new Java.Util.Date(108, 9, 22);
                dates[i][4]  = new Java.Util.Date(108, 9, 29);
                dates[i][5]  = new Java.Util.Date(108, 10, 5);
                dates[i][6]  = new Java.Util.Date(108, 10, 12);
                dates[i][7]  = new Java.Util.Date(108, 10, 19);
                dates[i][8]  = new Java.Util.Date(108, 10, 26);
                dates[i][9]  = new Java.Util.Date(108, 11, 3);
                dates[i][10] = new Java.Util.Date(108, 11, 10);
                dates[i][11] = new Java.Util.Date(108, 11, 17);
            }
            values.Add(new double[] { 142, 123, 142, 152, 149, 122, 110, 120, 125, 155, 146, 150 });
            values.Add(new double[] { 102, 90, 112, 105, 125, 112, 125, 112, 105, 115, 116, 135 });
            length = values[0].Length;
            int[]                    colors   = new int[] { Color.Blue, Color.Green };
            PointStyle[]             styles   = new PointStyle[] { PointStyle.Point, PointStyle.Point };
            XYMultipleSeriesRenderer renderer = BuildRenderer(colors, styles);

            SetChartSettings(renderer, "Project work status", "Date", "Tickets", dates[0][0].Time, dates[0][11].Time, 50, 190, Color.Gray, Color.LightGray);
            renderer.XLabels = 0;
            renderer.YLabels = 10;
            renderer.AddYTextLabel(100, "test");
            length = renderer.SeriesRendererCount;
            for (int i = 0; i < length; i++)
            {
                SimpleSeriesRenderer seriesRenderer = renderer.GetSeriesRendererAt(i);
                seriesRenderer.DisplayChartValues = true;
            }
            renderer.XRoundedLabels = false;
            return(ChartFactory.GetTimeChartIntent(context, BuildDateDataset(titles, dates, values), renderer, "MM/dd/yyyy"));
        }
        public override Android.Content.Intent Execute(Android.Content.Context context)
        {
            double[] minValues = new double[] { -24, -19, -10, -1, 7, 12, 15, 14, 9, 1, -11, -16 };
            double[] maxValues = new double[] { 7, 12, 24, 28, 33, 35, 37, 36, 28, 19, 11, 4 };

            XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
            RangeCategorySeries     series  = new RangeCategorySeries("Temperature");
            int length = minValues.Length;

            for (int k = 0; k < length; k++)
            {
                series.Add(minValues[k], maxValues[k]);
            }
            dataset.AddSeries(series.ToXYSeries());
            int[] colors = new int[] { Color.Cyan };
            XYMultipleSeriesRenderer renderer = BuildBarRenderer(colors);

            SetChartSettings(renderer, "Monthly temperature range", "Month", "Celsius degrees", 0.5, 12.5, -30, 45, Color.Gray, Color.LightGray);
            renderer.BarSpacing = 0.5;
            renderer.XLabels    = 0;
            renderer.YLabels    = 10;
            renderer.AddXTextLabel(1, "Jan");
            renderer.AddXTextLabel(3, "Mar");
            renderer.AddXTextLabel(5, "May");
            renderer.AddXTextLabel(7, "Jul");
            renderer.AddXTextLabel(10, "Oct");
            renderer.AddXTextLabel(12, "Dec");
            renderer.AddYTextLabel(-25, "Very cold");
            renderer.AddYTextLabel(-10, "Cold");
            renderer.AddYTextLabel(5, "OK");
            renderer.AddYTextLabel(20, "Noci");
            renderer.SetMargins(new int[] { 30, 70, 10, 0 });
            renderer.SetYLabelsAlign(Android.Graphics.Paint.Align.Right);
            SimpleSeriesRenderer r = renderer.GetSeriesRendererAt(0);

            r.DisplayChartValues  = true;
            r.ChartValuesTextSize = 12;
            r.ChartValuesSpacing  = 3;
            r.GradientEnabled     = true;
            r.SetGradientStart(-20, Color.Blue);
            r.SetGradientStop(20, Color.Green);
            return(ChartFactory.GetRangeBarChartIntent(context, dataset, renderer, BarChart.Type.Default, "Temperatur range"));
        }
        /// <summary>
        /// Executes the chart demo.
        /// </summary>
        /// <param name="context"> the context </param>
        /// <returns> the built intent </returns>
        public override Intent Execute(Context context)
        {
            string[]         titles = new string[] { "Crete", "Corfu", "Thassos", "Skiathos" };
            IList <double[]> x      = new List <double[]>();

            for (int i = 0; i < titles.Length; i++)
            {
                x.Add(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 });
            }
            IList <double[]> values = new List <double[]>();

            values.Add(new double[] { 12.3, 12.5, 13.8, 16.8, 20.4, 24.4, 26.4, 26.1, 23.6, 20.3, 17.2, 13.9 });
            values.Add(new double[] { 10, 10, 12, 15, 20, 24, 26, 26, 23, 18, 14, 11 });
            values.Add(new double[] { 5, 5.3, 8, 12, 17, 22, 24.2, 24, 19, 15, 9, 6 });
            values.Add(new double[] { 9, 10, 11, 15, 19, 23, 26, 25, 22, 18, 13, 10 });
            int[]                    colors   = new int[] { Color.Blue, Color.Green, Color.Cyan, Color.Yellow };
            PointStyle[]             styles   = new PointStyle[] { PointStyle.Circle, PointStyle.Diamond, PointStyle.Triangle, PointStyle.Square };
            XYMultipleSeriesRenderer renderer = BuildRenderer(colors, styles);
            int length = renderer.SeriesRendererCount;

            for (int i = 0; i < length; i++)
            {
                ((XYSeriesRenderer)renderer.GetSeriesRendererAt(i)).FillPoints = true;
            }
            SetChartSettings(renderer, "Average temperature", "Month", "Temperature", 0.5, 12.5, -10, 40, Color.LightGray, Color.LightGray);
            renderer.XLabels = 12;
            renderer.YLabels = 10;
            renderer.SetShowGrid(true);
            renderer.XLabelsAlign = Android.Graphics.Paint.Align.Right;
            renderer.SetYLabelsAlign(Android.Graphics.Paint.Align.Right);
            renderer.ZoomButtonsVisible = true;
            renderer.SetPanLimits(new double[] { -10, 20, -10, 40 });
            renderer.SetZoomLimits(new double[] { -10, 20, -10, 40 });

            XYMultipleSeriesDataset dataset = BuildDataset(titles, x, values);
            XYSeries series = dataset.GetSeriesAt(0);

            series.AddAnnotation("Vacation", 6, 30);
            Intent intent = ChartFactory.GetLineChartIntent(context, dataset, renderer, "Average temperature");

            return(intent);
        }
        public override Android.Content.Intent Execute(Android.Content.Context context)
        {
            String[]       titles = new String[] { "Inside", "Outside" };
            long           now    = new Date().Time / DAY * DAY;
            IList <Date[]> x      = new List <Date[]>();

            for (int i = 0; i < titles.Length; i++)
            {
                Date[] dates = new Date[HOURS];
                for (int j = 0; j < HOURS; j++)
                {
                    dates[j] = new Date(now - (HOURS - j) * HOUR);
                }
                x.Add(dates);
            }
            IList <double[]> values = new List <double[]>();

            values.Add(new double[] { 21.2, 21.5, 21.7, 21.5, 21.4, 21.4, 21.3, 21.1, 20.6, 20.3, 20.2,
                                      19.9, 19.7, 19.6, 19.9, 20.3, 20.6, 20.9, 21.2, 21.6, 21.9, 22.1, 21.7, 21.5 });
            values.Add(new double[] { 1.9, 1.2, 0.9, 0.5, 0.1, -0.5, -0.6, MathHelper.NullValue,
                                      MathHelper.NullValue, -1.8, -0.3, 1.4, 3.4, 4.9, 7.0, 6.4, 3.4, 2.0, 1.5, 0.9, -0.5,
                                      MathHelper.NullValue, -1.9, -2.5, -4.3 });

            int[]                    colors   = new int[] { Color.Green, Color.Blue };
            PointStyle[]             styles   = new PointStyle[] { PointStyle.Circle, PointStyle.Diamond };
            XYMultipleSeriesRenderer renderer = BuildRenderer(colors, styles);
            int length = renderer.SeriesRendererCount;

            for (int i = 0; i < length; i++)
            {
                ((XYSeriesRenderer)renderer.GetSeriesRendererAt(i)).FillPoints = true;
            }
            SetChartSettings(renderer, "Sensor temperature", "Hour", "Celsius degrees", x[0][0].Time, x[0][HOURS - 1].Time, -5, 30, Color.LightGray, Color.LightGray);
            renderer.XLabels = 10;
            renderer.YLabels = 10;
            renderer.SetShowGrid(true);
            renderer.XLabelsAlign = Android.Graphics.Paint.Align.Center;
            renderer.SetYLabelsAlign(Android.Graphics.Paint.Align.Right);
            return(ChartFactory.GetTimeChartIntent(context, BuildDateDataset(titles, x, values), renderer, "h:mm a"));
        }
Пример #11
0
        public override Android.Content.Intent Execute(Android.Content.Context context)
        {
            String[]         titles = new String[] { "Crete Air Temperature", "Skiathos Air Temperature" };
            IList <double[]> x      = new List <double[]>();

            for (int i = 0; i < titles.Length; i++)
            {
                x.Add(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 });
            }
            IList <double[]> values = new List <double[]>();

            values.Add(new double[] { 12.3, 12.5, 13.8, 16.8, 20.4, 24.4, 26.4, 26.1, 23.6, 20.3, 17.2, 13.9 });
            values.Add(new double[] { 9, 10, 11, 15, 19, 23, 26, 25, 22, 18, 13, 10 });
            int[]                    colors   = new int[] { Color.Green, Color.Rgb(200, 150, 0) };
            PointStyle[]             styles   = new PointStyle[] { PointStyle.Circle, PointStyle.Diamond };
            XYMultipleSeriesRenderer renderer = BuildRenderer(colors, styles);

            renderer.PointSize = 5.5f;
            int length = renderer.SeriesRendererCount;

            for (int i = 0; i < length; i++)
            {
                XYSeriesRenderer r = (XYSeriesRenderer)renderer.GetSeriesRendererAt(i);
                r.LineWidth  = 5;
                r.FillPoints = true;
            }
            SetChartSettings(renderer, "Weather data", "Month", "Temperature", 0.5, 12.5, 0, 40, Color.LightGray, Color.LightGray);
            renderer.XLabels = 12;
            renderer.YLabels = 10;
            renderer.SetShowGrid(true);
            renderer.XLabelsAlign = Android.Graphics.Paint.Align.Right;
            renderer.SetYLabelsAlign(Android.Graphics.Paint.Align.Right);
            renderer.ZoomButtonsVisible = true;
            renderer.SetPanLimits(new double[] { -10, 20, -10, 40 });
            renderer.SetZoomLimits(new double[] { -10, 20, -10, 40 });

            XYValueSeries sunSeries = new XYValueSeries("Sunshine hours");

            sunSeries.Add(1f, 35, 4.3);
            sunSeries.Add(2f, 35, 4.9);
            sunSeries.Add(3f, 35, 5.9);
            sunSeries.Add(4f, 35, 8.8);
            sunSeries.Add(5f, 35, 10.8);
            sunSeries.Add(6f, 35, 11.9);
            sunSeries.Add(7f, 35, 13.6);
            sunSeries.Add(8f, 35, 12.8);
            sunSeries.Add(9f, 35, 11.4);
            sunSeries.Add(10f, 35, 9.5);
            sunSeries.Add(11f, 35, 7.5);
            sunSeries.Add(12f, 35, 5.5);
            XYSeriesRenderer lightRenderer = new XYSeriesRenderer();

            lightRenderer.Color = Color.Yellow;

            XYSeries waterSeries = new XYSeries("Water Temperature");

            waterSeries.Add(1, 16);
            waterSeries.Add(2, 15);
            waterSeries.Add(3, 16);
            waterSeries.Add(4, 17);
            waterSeries.Add(5, 20);
            waterSeries.Add(6, 23);
            waterSeries.Add(7, 25);
            waterSeries.Add(8, 25.5);
            waterSeries.Add(9, 26.5);
            waterSeries.Add(10, 24);
            waterSeries.Add(11, 22);
            waterSeries.Add(12, 18);
            renderer.BarSpacing = 0.5;
            XYSeriesRenderer waterRenderer = new XYSeriesRenderer();

            waterRenderer.Color = Color.Argb(250, 0, 210, 250);

            XYMultipleSeriesDataset dataset = BuildDataset(titles, x, values);

            dataset.AddSeries(0, sunSeries);
            dataset.AddSeries(0, waterSeries);
            renderer.AddSeriesRenderer(0, lightRenderer);
            renderer.AddSeriesRenderer(0, waterRenderer);
            waterRenderer.DisplayChartValues  = true;
            waterRenderer.ChartValuesTextSize = 10;

            String[] types  = new String[] { "Bar", BubbleChart.Type, LineChart.Type, CubicLineChart.Type };
            Intent   intent = ChartFactory.GetCombinedXYChartIntent(context, dataset, renderer, types, "Weather parameters");

            return(intent);
        }