1

折れ線グラフの視覚化に問題があります。チャートでわかるように、x 点が y 点と正確に一致せず、わずかに右寄りになっています。

2012 年 4 月 12 日の時点で、x の値は正確に 2 でなければなりません

2012 年 4 月 13 日の時点で、x の値は正確に 3 でなければなりません

2012 年 4 月 16 日の時点で、x の値は正確に 6 でなければなりません

他の誰かが私の同じ問題に遭遇しましたか? 誰かが私を助けることができますか?

ここに画像の説明を入力

私のコードは非常に単純です。オブジェクトのリストがあり、その各要素には data 値と int 値の両方が含まれており、これらの値をチャートの描画に使用される 2 つの異なる配列に入れています。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 に答える