ACE如何在X轴上修改TimeChart的缩放按钮行为

时间:2012-10-28 17:37:55

标签: android zoom achartengine

我正在使用来自achartengine优秀库的ChartFactory.getTimeChartView方法。 我只显示上周的记录,允许用户使用renderer.setXAxisMin(OneWeekBefore);属性向左平移以查看以前的记录。

我有两个问题:

a)如何在TimeChart中允许X轴变焦?
尽管X轴和Y轴都启用了变焦,但我无法在X轴上进行变焦。我可能会以不恰当的方式使用缩放和平移限制但无法找到/为什么。

b)如何改变缩放按钮的行为?
我想改变缩放按钮1:1的行为。按此按钮,将显示整个图表,而不是仅显示上周。

以下是缩放属性设置的代码:

    // ZOOM
    double[] panlimits = new double[] { XfirstRecord , maxdate, 0.0, Ymax * 1.2 };
    renderer.setZoomEnabled(enabledXzoom, YenabledYzoom);
    renderer.setZoomButtonsVisible(showZoomButtons);
    renderer.setZoomRate(ZoomRate);
    renderer.setPanLimits(panlimits);
    renderer.setZoomLimits(panlimits);

    renderer.setXAxisMin(OneWeekBefore);
检查Dan的答案后,

工作更新如下所示,对我有用:

        // ZOOM
        double[] panlimits = new double[] { XfirstRecord, now, 0.0, Ymax * 1.2 };
        renderer.setZoomEnabled(XenabledZoom, YenabledZoom);
        renderer.setZoomButtonsVisible(showZoomButtons);
        renderer.setZoomRate(ZoomRate);
        renderer.setPanLimits(panlimits);
        renderer.setZoomLimits(panlimits);

        // SHOW ONLY last WEEK even after Zoom reset
        renderer.setXAxisMin(OneWeekBefore);
        renderer.setInitialRange(new double[] {OneWeekBefore, now, 0.0, Ymax * 1.2});

1 个答案:

答案 0 :(得分:1)

对于第一个问题,平移和缩放限制应该类似于:

// please note that I am using the Java naming of variables
new double[] { oneWeekBefore, today, 0, yMax * 1.2 };

捏缩放是否有效?

对于第二个问题,请使用:

renderer.setInitialRange(new double[] {oneWeekBefore, today, 0, yMax * 1.2});