使用android achartengine在Android应用程序中添加动态x轴标签

时间:2013-07-30 08:54:55

标签: android achartengine

我正在尝试使用achart引擎开发一个Android应用程序来绘制图形。 一切都很好,除了我无法动态地将文本标签设置为x轴。我能找到的唯一方法是通过在开发过程中静态分配标签。任何人都知道如何实现这一点? 在我的应用程序中,我将从mysql数据库中提取标签。 到目前为止,这是我的代码的一部分:

int x[]={1,2,3,4,5,6};
    int y[]={1,4,9,16,25,36};
    int z[]={3,4,6,7,4,3};
            String xaxis[]={"jan","feb","march","april"};

    TimeSeries series=new TimeSeries("line1");
    TimeSeries series2=new TimeSeries("line2");

    for(int i=0;i<x.length;i++){
        series.add(x[i],y[i]);
        series2.add(x[i], z[i]);

    }

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

    XYSeriesRenderer renderer=new XYSeriesRenderer();
    renderer.setColor(Color.BLUE);
    renderer.setPointStyle(PointStyle.SQUARE);
    renderer.setFillPoints(true);

    XYSeriesRenderer renderer2=new XYSeriesRenderer();
    renderer2.setColor(Color.YELLOW);
    renderer2.setPointStyle(PointStyle.CIRCLE);
    renderer2.setFillPoints(false);

在我的示例中,我想在运行时从xaxis数组中获取标签。

1 个答案:

答案 0 :(得分:0)

我意识到我正在尝试向XYSeriesRenderer添加标签。应该添加到XYMultipleSeriesRenderer。我还使用for循环从xaxis数组中获取相应的月份,并使用它们的索引显示在正确的x轴位置。 添加的代码是:

mRenderer.setXLabels(0);
    for(int i=0;i<x.length;i++){
    mRenderer.addXTextLabel(x[i],xaxis[i]);
    }

请记住它出现在XYMultipleSeriesRenderer mRenderer的声明之后。