AChartEngine Android - 重置缩放和平移图表?

时间:2015-04-23 12:24:52

标签: android achartengine

美好的一天,我正在构建一个Android应用程序,我正在使用AChartEngine来显示我获得的图形和值。

我能够正确地绘制正确的值。但是,一旦用户放大并平移我的图表,就很难查看数据。我考虑的一个选项是显示“重绘图”按钮,一旦用户点击它,图形将重绘为原​​始状态,缩放和平移也将重置。

到目前为止,这是代码:

public void redrawGraph(View view){
    chartView.repaint();
}

其中redrawGraph是我的按钮的onClick函数,而chartViewGraphicalView类型的对象。

然而,这似乎做了什么,因为它只重绘了我的图表中的更改(如果我添加/删除了系列渲染器,系列等)。

有没有人知道如何在AChartEngine中重置缩放和平移图形?

非常感谢任何帮助。谢谢。

2 个答案:

答案 0 :(得分:1)

我的回答是指XY /时间图表。首先,您必须在您使用的每个渲染器中启用外部缩放功能。下面的代码段显示了完成此操作的代码:

yourMultipleSeriesRenderer.setExternalZoomEnabled(true);

在您的方法redrawGraph中,您必须执行以下命令:

public void redrawGraph(View view) {
    chartView.zoomReset();
}

这对我很有用。如果您需要任何进一步的信息,请发表评论。

答案 1 :(得分:-2)

将它放入多系列渲染

    multiRenderer.setZoomButtonsVisible(false);
    // setting pan enablity which uses graph to move on both axis
    multiRenderer.setPanEnabled(true, false);
    // setting click false on graph
    multiRenderer.setClickEnabled(false);
    // setting zoom to false on both axis
    multiRenderer.setZoomEnabled(true, false);
    // setting lines to display on y axis
    multiRenderer.setShowGridY(true);
    // setting lines to display on x axis
    multiRenderer.setShowGridX(true);
    // setting legend to fit the screen size
    multiRenderer.setFitLegend(true);
    // setting displaying line on grid
    multiRenderer.setShowGrid(true);
    // setting zoom to false
    multiRenderer.setZoomEnabled(false);
    // setting external zoom functions to false
    multiRenderer.setExternalZoomEnabled(false);