Android——MPAndroidChart畫圖時Y軸刻度重複顯示的問題解決

【背景】使用MPAndroidChart畫柱狀圖,當y軸的value值比較小時,Y軸刻度就會出現重複顯示的問題,如下:

【解決方法】:獲取y軸左側座標軸YAxis的實例化對象,有一個設置setLabelCount()方法,其可以強制設置y軸顯示的文本刻度個數,所以我們在填充數據完畢後根據原默認畫的刻度值進行強制調整即可,代碼如下:

        YAxis yAxis = chart.getAxisLeft();
        Transformer transformer = chart.getTransformer(YAxis.AxisDependency.LEFT);
        // ...minor dirty hack
        MPPointD top = transformer.getValuesByTouchPoint(0, 0);
        MPPointD bottom = transformer.getValuesByTouchPoint(0, chart.getHeight());
        int diff = (int)(top.y - bottom.y);
        // draw 2-8 axis labels
        int count = Math.min(8, Math.max(diff, 2));
        chart.getAxisLeft().setLabelCount(count, true);

 【實現效果】:

【注意】:實際上並非治根的方法,Y軸顯示的數據也並非重複,我們看到的重複只是因爲y軸刻度的格式format 只顯示整數,若把格式改爲"0.00",我們將會看到不重複的數據,再次說明下,以面誤導別人。以上的方法在想控制y軸顯示的lebel數量時還是有一定作用的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章