该achartengine库的LineChart:x点与y值不匹配

时间:2012-04-23 10:28:39

标签: android achartengine

我对线图的可视化有问题,正如您在图表中看到的x点与y点不完全匹配,它们更轻微。

2012年4月12日,x值必须正好为2

2012年4月13日,x值必须正好为3

2012年4月16日,x值必须正好为6

还有其他人遇到过同样的问题吗? 有人能帮助我吗?

enter image description here

我的代码非常简单,我有一个对象列表,每个元素都包含数据值和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);

2 个答案:

答案 0 :(得分:0)

AChartEngine中的时间图表尝试计算最好的“圆形”标签,例如每天午夜左右。

如果您不喜欢这种方法,可以使用自定义标签构建常规折线图:

renderer.addXTextLabel();

答案 1 :(得分:0)

我使用自定义标签构建了一个常规折线图,就像Dan建议的那样,并删除了我放置setX Labels(0)之前的标签:

      aRenderer.addXTextLabel();
      // To remove the previous label put
      aRenderer.setXLabels(0);