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 回答