2015-07-21 110 views

回答

0

請試試這個,我不知道是你的want.when我MPAndroidChart面臨微量縮放級別,我用這個方法就是這樣,

mChart.setPinchZoom(true); mChart.setScaleMinima(200,200); //最低和變焦 我 希望能確定你的問題

+0

所以,如果使用setScaleMinima()。如何使視圖中心的圖表 – Urchin

+0

@Urchin我喜歡在我的xml文件中使用視圖的中心 yemonkyaw

19

看看在documentation of the YAxis最大值。有各種方法可以讓你控制軸範圍。

  • setStartAtZero(boolean enabled):如果啓用了此功能,則無論圖表顯示哪種數據,該軸的最小值始終爲零(0)。
  • setAxisMaxValue(float max):設置該軸的自定義最大值。如果設置,則根據提供的數據不會自動計算該值。
  • setAxisMinValue(float min):設置該軸的自定義最小值。如果設置,則根據提供的數據不會自動計算該值。
  • setSpaceTop(float percent):設置圖表中最高值的頂部間距(以總軸範圍的百分比表示)與軸上的最高值進行比較。
  • setSpaceBottom(float percent):設置圖表中最低值與軸上最低值比較的底部間距(以總軸範圍的百分比表示)。
+0

THX,我會嘗試這些方法 – Urchin

+0

但爲什麼這發生,我仍然混淆?最大值和最小值將自動計算。股票價格總是穩定的,它不應該像第一張照片一樣。我使用示例代碼,它工作得很完美。但爲什麼我的數據不起作用?非常感謝。 – Urchin

+0

我打印最大值和最小值。的System.out.println(chart.getYMax()); System.out.println(chart.getYMin());這是我想要的價值,但圖表仍然像一條線?爲什麼?非常感謝。 – Urchin

1

使用setScaleMinima() 和chart.moveViewToY(最大),YAxis.AxisDependency.LEFT); 是最好的解決方案。

1

您還可以使用

mChart.setVisibleYRangeMaximum(150, AxisDependency.LEFT); 

方法設置在Y軸上最高可視價值。

7

左右軸之間有一種依賴關係。我只有右軸啓用和設置

chart.getAxisRight().setStartAtZero(false); 

但這並沒有工作,直到我設置相同的參數,我的leftYAxis,它被禁用。所以我現在

chart.getAxisLeft().setStartAtZero(false); 
chart.getAxisRight().setStartAtZero(false); 

編輯:

setStartAtZero已被棄用,代碼建議使用setAxisMinimum代替。

* This method is deprecated. 
* Use setAxisMinimum(...)/setAxisMaximum(...) instead. 
+0

這就是我想要的,非常感謝。你保存了我的時間 –

+0

'chart.getAxisLeft()。setStartAtZero(false);'爲我工作......謝謝,但是現在發生的事情是minValue是98它設置98作爲開始,我希望它從95停止,如果minValue是106,它應該是105或100;如果minValue是0.25,那麼0.20&3.49然後是3.45 ...同樣...意味着起始值應該稍小一些,那麼minValue ... – Bhuro

+0

並且在縮放時它看起來很奇怪,因爲值在附近ex:0.2349,0.2351 ,0.2334,0.2354,0.2156,0.3002,0.4545,0.1895,0.19010,0.2995,0.2901 ......所以它將顯示Y軸爲0.18,0.19,0.21,0.23,0.23,0.23,0.23,0.25,0.29,0.29,0.30, ...如何處理這個?與您提供的解決方案 – Bhuro

相關問題