Example #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)
	  {
		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.LTGRAY);
		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, "Nice");
		renderer.Margins = new int[] {30, 70, 10, 0};
		renderer.YLabelsAlign = 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, Type.DEFAULT, "Temperature range");
	  }