シングルシリーズとシングルレンダラーの棒グラフグラフを生成しています。与えられたデータ条件に応じて、さまざまな色でバーを生成する必要があります。
以下は、レンダラーの私のコードです。
private XYMultipleSeriesRenderer getDemoRenderer() {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setBarSpacing(1.0);
renderer.setAxisTitleTextSize(12);
renderer.setChartTitleTextSize(12);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setPointSize(5f);
renderer.setMargins(new int[] { 20, 30, 15, 0 });
renderer.setXLabels(0);
XYSeriesRenderer r = new XYSeriesRenderer();
SQLiteDatabase DB = Context
.openOrCreateDatabase("WaterElectricityReadingDataBase.db",
MODE_WORLD_READABLE, null);
Cursor c = DB
.rawQuery(
"select ReadingValue,ReadingMode, from WaterElectricity ",
null);
if (c.moveToFirst()) {
do {
String ReadingMode = c.getString(c
.getColumnIndex("ReadingMode"));
if (ReadingMode.contains("Water")){
r.setColor(Color.GREEN);
}else if(ReadingMode.contains("Electricity")){
r.setColor(Color.WHITE);
}
}while (c.moveToNext());
}
r.setPointStyle(PointStyle.DIAMOND);
r.setFillBelowLine(false);
r.setFillPoints(true);
renderer.addSeriesRenderer(r);
setChartSettings(renderer);
return renderer;
}
上記のコードで、ReadingModeが "Water"の場合、バーを緑色で生成し、もう1つは白色で生成する必要があります。上記のコードを実行すると、すべてのバーが緑色で生成されていることがわかりました。データベースにReadingModeのレコードが「Water」および「Electricity」としてあります。しかし、なぜこれが幸せなのですか?複数のレンダラーを使用する必要がありますが、単一のシリーズを使用していますか?
誰かが私に良い解決策を提案できますか?頭が折れそうです。
どんな助けでも大歓迎です!! 前もって感謝します!!