/// <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 <DateTime[]> dates  = new List <DateTime[]>();
            IList <double[]>   values = new List <double[]>();

            DateTime[] dateValues = new DateTime[]
            {
                new DateTime(95, 0, 1),
                new DateTime(95, 3, 1),
                new DateTime(95, 6, 1),
                new DateTime(95, 9, 1),
                new DateTime(96, 0, 1),
                new DateTime(96, 3, 1),
                new DateTime(96, 6, 1),
                new DateTime(96, 9, 1),
                new DateTime(97, 0, 1),
                new DateTime(97, 3, 1),
                new DateTime(97, 6, 1),
                new DateTime(97, 9, 1),
                new DateTime(98, 0, 1),
                new DateTime(98, 3, 1),
                new DateTime(98, 6, 1),
                new DateTime(98, 9, 1),
                new DateTime(99, 0, 1),
                new DateTime(99, 3, 1),
                new DateTime(99, 6, 1),
                new DateTime(99, 9, 1),
                new DateTime(100, 0, 1),
                new DateTime(100, 3, 1),
                new DateTime(100, 6, 1),
                new DateTime(100, 9, 1),
                new DateTime(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].Ticks, dateValues[dateValues.Length - 1].Ticks, -4, 11, Color.GRAY, Color.LTGRAY);
            renderer.YLabels        = 10;
            renderer.XRoundedLabels = false;
            XYSeriesRenderer xyRenderer = (XYSeriesRenderer)renderer.getSeriesRendererAt(0);

            XYSeriesRenderer.FillOutsideLine fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ABOVE);
            fill.Color = Color.GREEN;
            xyRenderer.addFillOutsideLine(fill);
            fill       = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_BELOW);
            fill.Color = Color.MAGENTA;
            xyRenderer.addFillOutsideLine(fill);
            fill           = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ABOVE);
            fill.Color     = Color.argb(255, 0, 200, 100);
            fill.FillRange = new int[] { 10, 19 };
            xyRenderer.addFillOutsideLine(fill);

            return(ChartFactory.getTimeChartIntent(context, buildDateDataset(titles, dates, values), renderer, "MMM yyyy"));
        }
Example #2
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"));
        }
        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));
        }
        /// <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 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 in the last 2 years", "Month", "Units sold", 0.75, 12.25, -5000, 19000, Color.GRAY, Color.LTGRAY);
            renderer.XLabels            = 12;
            renderer.YLabels            = 10;
            renderer.ChartTitleTextSize = 20;
            renderer.setTextTypeface("sans_serif", Typeface.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)
                {
                    XYSeriesRenderer.FillOutsideLine fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ALL);
                    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));
        }
	  /// <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 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 in the last 2 years", "Month", "Units sold", 0.75, 12.25, -5000, 19000, Color.GRAY, Color.LTGRAY);
		renderer.XLabels = 12;
		renderer.YLabels = 10;
		renderer.ChartTitleTextSize = 20;
		renderer.setTextTypeface("sans_serif", Typeface.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)
		  {
			XYSeriesRenderer.FillOutsideLine fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ALL);
			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);
	  }
	  /// <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<DateTime[]> dates = new List<DateTime[]>();
		IList<double[]> values = new List<double[]>();
		DateTime[] dateValues = new DateTime[]
		{
			new DateTime(95, 0, 1),
			new DateTime(95, 3, 1),
			new DateTime(95, 6, 1),
			new DateTime(95, 9, 1),
			new DateTime(96, 0, 1),
			new DateTime(96, 3, 1),
			new DateTime(96, 6, 1),
			new DateTime(96, 9, 1),
			new DateTime(97, 0, 1),
			new DateTime(97, 3, 1),
			new DateTime(97, 6, 1),
			new DateTime(97, 9, 1),
			new DateTime(98, 0, 1),
			new DateTime(98, 3, 1),
			new DateTime(98, 6, 1),
			new DateTime(98, 9, 1),
			new DateTime(99, 0, 1),
			new DateTime(99, 3, 1),
			new DateTime(99, 6, 1),
			new DateTime(99, 9, 1),
			new DateTime(100, 0, 1),
			new DateTime(100, 3, 1),
			new DateTime(100, 6, 1),
			new DateTime(100, 9, 1),
			new DateTime(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].Ticks, dateValues[dateValues.Length - 1].Ticks, -4, 11, Color.GRAY, Color.LTGRAY);
		renderer.YLabels = 10;
		renderer.XRoundedLabels = false;
		XYSeriesRenderer xyRenderer = (XYSeriesRenderer) renderer.getSeriesRendererAt(0);
		XYSeriesRenderer.FillOutsideLine fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ABOVE);
		fill.Color = Color.GREEN;
		xyRenderer.addFillOutsideLine(fill);
		fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_BELOW);
		fill.Color = Color.MAGENTA;
		xyRenderer.addFillOutsideLine(fill);
		fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ABOVE);
		fill.Color = Color.argb(255, 0, 200, 100);
		fill.FillRange = new int[] {10, 19};
		xyRenderer.addFillOutsideLine(fill);

		return ChartFactory.getTimeChartIntent(context, buildDateDataset(titles, dates, values), renderer, "MMM yyyy");
	  }