1

我对折线图的可视化有疑问,正如您在图表中看到的那样,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);
4

2 回答 2

0

我构建了一个常规折线图,就像 Dan 建议的那样,带有自定义标签,并删除了我放置 setXLabels(0) 的先前标签:

      aRenderer.addXTextLabel();
      // To remove the previous label put
      aRenderer.setXLabels(0);
于 2012-04-27T11:00:30.673 回答
0

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

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

renderer.addXTextLabel();
于 2012-04-24T17:04:39.523 回答