我对线图的可视化有问题,正如您在图表中看到的x点与y点不完全匹配,它们更轻微。
2012年4月12日,x值必须正好为2
2012年4月13日,x值必须正好为3
2012年4月16日,x值必须正好为6
还有其他人遇到过同样的问题吗? 有人能帮助我吗?
我的代码非常简单,我有一个对象列表,每个元素都包含数据值和int值,我将这些值放在将用于绘制图表的两个不同数组中。我正在使用achartengine-07库。
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
XYMultipleSeriesRenderer aRenderer = new XYMultipleSeriesRenderer();
Date[] x = new Date[list.size()];
for(int j=0;j<list.size();j++){
x[j] = list.get(j).getData();
}
int[] y = new int[list.size()];
for(int j=0;j<list.size();j++){
y[j] =Integer.parseInt(list.get(j).getRank());
}
TimeSeries series = new TimeSeries(h[i]);
for(int k = 0; k <x.length; k++)
series.add(x[k], y[k]);
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setPointStyle(PointStyle.SQUARE);
renderer.setFillPoints(true);
dataset.addSeries(series);
aRenderer.setXLabels(x.length);
aRenderer.setYLabels(y.length);
aRenderer.addSeriesRenderer(renderer);
答案 0 :(得分:0)
AChartEngine中的时间图表尝试计算最好的“圆形”标签,例如每天午夜左右。
如果您不喜欢这种方法,可以使用自定义标签构建常规折线图:
renderer.addXTextLabel();
答案 1 :(得分:0)
我使用自定义标签构建了一个常规折线图,就像Dan建议的那样,并删除了我放置setX Labels(0)之前的标签:
aRenderer.addXTextLabel();
// To remove the previous label put
aRenderer.setXLabels(0);