Nancy
Nancy

Reputation: 153

How to set the background image for achartengine line chart in android?

I am using achartengine to dispaly the line chart in my application.I need to add the bg image for the chart , but when I set the bg image in xml , its not working. Have anyone tried this? Thanks in advance.

Upvotes: 7

Views: 4697

Answers (7)

user2937944
user2937944

Reputation:

If you want to set transparent background color, you can try:

renderer.setMarginsColor(Color.argb(0x00, 0xff, 0x00, 0x00));

It just be work for me!

Upvotes: 1

Slavcho
Slavcho

Reputation: 2812

You just replace that code of line with this one:

mRenderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01));

Upvotes: 7

Umair
Umair

Reputation: 1236

For removing:

mRenderer.setMargins(new int[]{0,0,0,0});

And it will remove the margin :) its simple

For setting color:

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

Upvotes: 1

thanhbinh84
thanhbinh84

Reputation: 18454

Firstly, you need to add chart into your activity, and set preferred image as background in activity layout. (Take a look at XYChartBuilder in AChartEngineneDemo to see how to do that)

Secondly, set transparent background for chart and chart margin:

mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.TRANSPARENT);
mRenderer.setMarginsColor(getResources().getColor(R.color.transparent_background));

Finally, create your own transparent background since the Color.TRANSPARENT doesn't work for chart margin:

<color name="transparent_background">#00FF0000</color>

Hope this helps :)

Upvotes: 14

deepak Sharma
deepak Sharma

Reputation: 1641

This can be possible to set the background of line chart. it was a trick that works for me.

// RelativeLayout layout_ChartView = (RelativeLayout) findViewById(R.id.chart_View);  
private GraphicalView mChartView;  
if(mChartView==null){
mChartView.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg));
layout_ChartView.addView(mChartView, new LayoutParams(LayoutParams.FILL_PARENT,300));  
mChartView = ChartFactory.getCubeLineChartView(this,mDataset,mRenderer, 0.2f);  
}
else{    
  mChartView.repaint();
}

Upvotes: 4

Sherad
Sherad

Reputation: 55

mRenderer.setBackgroundColor(Color.Transparent);

And the Layout background where show the chart set your background image. Done.

Upvotes: 1

san
san

Reputation: 1835

Did you set your margincolor? Like this?

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

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

Upvotes: 3

Related Questions