3

私の質問は、AChartEngine で x 軸に多数の x ラベルを設定し、たとえば 20 のみを表示するように設定する方法です。ズームインすると、より精度の高いラベルが表示されます。

4

1 に答える 1

2

最初に、初期ビューに必要なラベルの最大数を設定します。

renderer.setXLabels(20);

ズームインするたびに、AChartEngine はラベルを更新して、最大 20 個のラベルを持つようにします。丸め値のラベルが自動的に選択されるため、正確に 20 個になるわけではありませんが、十分な数のかなり丸められた数値が得られます。

一方、renderer.setXTextLabel() を使用して追加するようなカスタム テキスト ラベルを意味する場合は、ズーム イベントをリッスンし、それに応じてラベルを更新する必要があります。

mChartView.addZoomListener(new ZoomListener() {
  public void zoomApplied(ZoomEvent e) {
    double start = renderer.getXAxisMin();
    double stop = renderer.getXAxisMax();
    double step = (stop - start) / 20;
    renderer.removeXTextLabels();
    for (double i = start; i <= stop; i += step) {
      renderer.addXTextLabel(i, "text");
    }
  }

  public void zoomReset() {
  }
}, true, true);
于 2012-10-26T08:32:05.813 に答える