2015-04-29 132 views
2

我正在使用MPAndroidChart library如何在MPAndroidChart中使用setLabelCount(...)?

enter image description here

我用barChart.getAxisLeft().setLabelCount(5);,並返回標籤爲0.00, 20.00, 40.00, 60.00,但我想0.00, 25.00, 50.00, 75.00, 100.00

我也想展示100。有什麼可能嗎?

更新

我加入以下行,

barChart.getAxisLeft().setAxisMaxValue(100); 
barChart.getAxisLeft().setAxisMinValue(0); 
barChart.getAxisLeft().setLabelCount(5); 

現在輸出

0.0, 20.0, 40.0, 60.0, 80.0, 100.0 

所以我把它改成下面,

barChart.getAxisLeft().setAxisMaxValue(100); 
barChart.getAxisLeft().setAxisMinValue(0); 
barChart.getAxisLeft().setLabelCount(4); 

現在輸出

0.0, 30.0, 60.0, 90.0 

但我需要下面的輸出。

0.0, 25.0, 50.0, 75.0, 100.0 

任何幫助將不勝感激。

回答

1

最新版本的方法public void setLabelCount(int count, boolean force)

例如:

barChart.getAxisLeft().setLabelCount(5,true); 

這將給精確的輸出。

感謝修復@Philipp Jahoda

1

也許您可以通過ValueFormatter設置自定義y軸值。 如:

public class CustomValueFormatter implements ValueFormatter { 

    public CustomValueFormatter() { 
    } 

    @Override 
    public String getFormattedValue(float value) { 
     return (value/20)*25 + " "; // transfer the number to meet your want. 
    } 
} 
+0

現在什麼樣的價值傳遞給'getFormattedValue'? – Gunaseelan

1

看看在YAxis documentation。您會注意到一種名爲setAxisMaxValue(...)的方法。

  • 最大值設置爲100
  • 設置最小值爲0
  • 設置標籤數到5

你會實現你想要的。

如需更多自定義格式,請查看ValueFormatter

+0

我需要你的幫助,請看看我的問題。 – Gunaseelan

+0

不工作兄弟:( – Gunaseelan

+0

不適合我工作,我認爲高度也是基於價值觀。爲什麼這很難完成? – david