Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

android - How to change the background color of the graph using achartengine

I implemented the Line graph using the achartengine. But i want change the line graph background color. Somebody suggest that the following code for changing the background color.

mRenderer.setApplyBackgroundColor(true); mRenderer.setBackgroundColor(Color.RED);

But it will not change the entire background. I want to change the entire background is it possible? if yes, then how to do it please can anybody help me.The following image is the output of the previous code.I want to change the entire bgcolor(means remaining black color part to white also)Grpah without entire bgcolor

Alinegraph.java

public class ALinegraph extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

    super.onCreate(savedInstanceState);      
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);   
    setContentView(R.layout.main);

    Button Linegraph = (Button) findViewById(R.id.Linegraph);
    Linegraph.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
              Linegraphpage ACTC = new Linegraphpage();
              Intent intent = ACTC.execute(ALinegraph.this);
              startActivity(intent);                  
        }});           
}

}

Linegraphpage.java

public class Linegraphpage extends AbstractDemoChart

{

  /**
   * Returns the chart name.
   * 
   * @return the chart name
   */
  public String getName() {
    return "Average temperature";
  }

  /**
   * Returns the chart description.
   * 
   * @return the chart description
   */
  public String getDesc() {
    return "The average temperature in 4 Greek islands (line chart)";
  }

  /**
   * Executes the chart demo.
   * 
   * @param context the context
   * @return the built intent
   */
  public Intent execute(Context context) {
    String[] titles = new String[] { "Crete","Corfu"};
    List<double[]> x = new ArrayList<double[]>();
    for (int i = 0; i < titles.length; i++) {
      x.add(new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
    }
    List<double[]> values = new ArrayList<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 });
    values.add(new double[] { 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 });

    int[] colors = new int[] { Color.CYAN,Color.GREEN};
    PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE,PointStyle.POINT};
    XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles);
    int length = renderer.getSeriesRendererCount();
    for (int i = 0; i < length; i++) {
      ((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true);
    }
    setChartSettings(renderer, "", "", "price", 0, 12, 0, 190,
        Color.GREEN, Color.GREEN);
    renderer.setXLabels(10);
    renderer.setYLabels(7);    
    renderer.setShowGrid(false);
    renderer.setXLabelsAlign(Align.RIGHT);
    renderer.setYLabelsAlign(Align.RIGHT);
    renderer.setApplyBackgroundColor(true);
    renderer.setBackgroundColor(Color.WHITE);
    renderer.setZoomButtonsVisible(true);
    renderer.setPanLimits(new double[] { -10, 20, -10, 40 });
    renderer.setZoomLimits(new double[] { -10, 20, -10, 40 });

    Intent intent = ChartFactory.getLineChartIntent(context, buildDataset(titles, x, values),
        renderer, "");
    return intent;
  }

}

Updated image

enter image description here

like image 262
naresh Avatar asked Oct 10 '11 10:10

naresh


People also ask

How do I change the color of my graph in LabVIEW?

(NOTE: For LabVIEW 7.1 and earlier, right-click on the lower box and choose Replace»All Functions»Numeric»Additional Numeric Constants»Color Box Constant.) Click on each color box to change the color of that marker number.


1 Answers

you should also set your margincolor:

mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.RED);
mRenderer.setMarginsColor(Color.RED);

This will give a whole view of your graph background to red color.

like image 78
Hanry Avatar answered Oct 04 '22 15:10

Hanry