【问题标题】:AChartEngine max x labels visibleAChartEngine 最大 x 个标签可见
【发布时间】:2012-10-26 07:48:34
【问题描述】:

我的问题是如何在 AChartEngine 中在 x 轴上设置大量 x 标签,并设置为仅对例如 20 可见,当放大时会出现更精确的标签。

【问题讨论】:

    标签: android mobile charts achartengine


    【解决方案1】:

    一开始,只需为初始视图设置所需的最大标签数:

    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);
    

    【讨论】:

    • 它适用于数字标签,但不幸的是不适用于文本标签:(
    • 我会尝试它可能会解决我的问题:),你的代码中有一个小错误我想它应该是“双步=(停止启动)/20;”而不是“双步=(开始-停止)/ 20;”。无论如何,非常感谢您的帮助! :)
    • 还有一个错误。它正在工作,但是当我将图表向左或向右移动时,没有 XTextLabels。
    • 您还必须监听 pan 事件。 mChartView.addPanListener()
    • 嗨,丹,这里的 mCharview 是什么?
    猜你喜欢
    • 1970-01-01
    • 2023-03-04
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多