AchartEngine- Balkendiagramm

  • Antworten:0
Alfred Banause
  • Forum-Beiträge: 15

13.11.2012, 21:53:57 via Website

Hallo an Alle,

Ich würde gerne mein Balkendiagramm, so konfigurieren:
- Wenn ein Wert größer 250 ist soll dieser Balken rot werden,
- andernfalls grün.

Kennt jemand die entsprechende Funktion oder kann mir auf die Sprünge helfen?

Anbei mein BarGraph Klasse, und meine Main;


[code]public class BarGraph {
public GraphicalView getView(Context context, int[] x, int[] y)
{

CategorySeries series = new CategorySeries("Demo Bar Graph 1");
for (int i = 0; i < y.length; i++) {
series.add("Bar " + x[i], y[i]);
}



XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series.toXYSeries());


XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
mRenderer.setChartTitle("Demo Graph Title");
mRenderer.setXTitle("X VALUES");
mRenderer.setYTitle("Y VALUES");
mRenderer.setAxesColor(Color.GREEN);
mRenderer.setLabelsColor(Color.RED);
mRenderer.setBarSpacing(0.2);
mRenderer.setYAxisMax(450);


XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setDisplayChartValues(true);
renderer.setChartValuesSpacing((float) 0.5);
mRenderer.addSeriesRenderer(renderer);

renderer.setColor(Color.BLUE);
if(series.getValue(0)>200){
renderer.setColor(Color.RED);


}

renderer.setDisplayChartValues(true);
renderer.setChartValuesSpacing((float) 0.5);



GraphicalView view = ChartFactory.getBarChartView(context, dataset,mRenderer, Type.DEFAULT);
return view;
}
}[/code]


[code]public class Diagramm extends Activity {

private static Thread thread,thread1;
private Button BarGraphButton;
int[] ArrayY=new int[500];
int start=0;
int end=4;

private static final String TAG = null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_diagramm);



for(int i=0; i<50;i++){
ArrayY[i]=generateRandomDataY();
Log.d(TAG," "+ArrayY[i]);
}

thread = new Thread() {

public void run()
{

BarGraphButton = (Button) findViewById(R.id.BarGraph);
for (int i = 0; i < 50; i++)
{
try {

Thread.sleep(500);
runOnUiThread(new Runnable() {
public void run() {

BarGraphButton.performClick();
}
});
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}




}
}
};

thread.start();



}[/code]

Antworten