2015-04-23 107 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