2015-04-23 111 views
1

美好的一天,我正在构建一个Android应用程序,我正在使用AChartEngine来显示我获得的图形和值。AChartEngine Android - 重置缩放和平移图?

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

由代码下面是迄今:

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

redrawGraph哪里是我的按钮和chartViewonClick功能是GraphicalView类型的对象。

但是,这似乎做了什么,因为它只重绘我的图中的变化(如果我添加/删除系列渲染器,系列等)。

有谁知道如何重置AChartEngine中的缩放和平移图?

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

回答

1

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

yourMultipleSeriesRenderer.setExternalZoomEnabled(true); 

在你的方法redrawGraph你就必须执行如下命令:

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

这对我的伟大工程。如果您需要更多信息请发表评论。

+0

对不起,我现在只回到我的问题(我实际上搜索了我的问题,这是第一个结果)。我现在就试试看,然后回复你。 – Razgriz

+0

工作得很好。谢谢。 – Razgriz

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

此代码禁用沿Y轴缩放和平移。它不会像我最初问我的问题那样重置缩放级别和平移位置。 – Razgriz