0

我正在尝试开发一个 android 应用程序来使用 achart 引擎绘制图形。一切都很好,除了我无法动态地将文本标签设置为 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 数组中获取标签。

4

1 回答 1

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 的声明之后。

于 2013-07-30T10:04:51.983 回答