单个系列和单个渲染器的多个颜色条

时间:2013-03-27 05:39:33

标签: android bar-chart achartengine

我正在为Single系列和单个渲染器生成条形图。我需要根据我给定的数据条件生成不同颜色的条。

以下是我的渲染代码,

  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”,我需要用绿色生成条形图,而另一个条形图用白色生成。如果我运行上面的代码,我确实观察到所有条形都是以绿色生成的。我在我的数据库中将ReadingMode记录为“Water”和“Electricity”。但为什么会这样呢?我需要多个渲染器,但我有单个系列吗?

任何人都可以向我推荐一个好的解决方案吗?我的脑袋即将破裂。

任何帮助将不胜感激!提前致谢!!

1 个答案:

答案 0 :(得分:1)

Bar chart using achartengine。检查链接中接受的答案。

                    OR

为每个栏使用不同的系列。

http://code.google.com/p/achartengine/issues/detail?id=76。有人报告了同样的问题。