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

时光毁灭记忆、已成空白 提交于 2019-11-30 02:57:25

问题


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)

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


回答1:


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.



来源:https://stackoverflow.com/questions/7711586/android-how-to-change-the-background-color-of-the-graph-using-achartengine

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!