我正在尝试使用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数组中获取标签。
答案 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的声明之后。