2016-10-18 32 views
1

我遇到BarChart和標籤問題。標籤計數不正確。即使我直接輸入一個值:MPAndroid BarChart標籤計數和ValueFormatter無法正常工作

xAxis.setLabelCount(5,true); 

但我得到的只有4個標籤。當我把6變成5時。似乎有一個錯誤。

也不會出現標籤的最後一項(我正在使用一個簡單的ValueFormatter)。如果標籤的數量等於條數,重複進行第一次的兩倍,即使我用

xAxis.setGranularity(1f); 
xAxis.setGranularityEnabled(true); 

和X值爲每個酒吧01234

任何人都可以幫助我嗎?

更新

看圖像 HERE


這裏我使用的條目列表和標籤是條目的數據。

您看到只有3個標籤,而條目列表的大小爲4,第一個條目重複兩次。

我要確保有關的條目有值:

 Log.d(TAG, "Size of categories : " + categoriesEntries.size()); 

     for (BarEntry e : 
       categoriesEntries) { 
      Log.d(TAG, e.getX() + " " + e.getData().toString()); 
     } 

的logcat的輸出:

10-21 15:16:49.569 31194-31194/com.shamdroid.myfinancialassistant D/Statistics Activity: Size of categories : 4 
10-21 15:16:49.569 31194-31194/com.shamdroid.myfinancialassistant D/Statistics Activity: 0.0 Study 
10-21 15:16:49.569 31194-31194/com.shamdroid.myfinancialassistant D/Statistics Activity: 1.0 Home 
10-21 15:16:49.569 31194-31194/com.shamdroid.myfinancialassistant D/Statistics Activity: 2.0 Car 
10-21 15:16:49.569 31194-31194/com.shamdroid.myfinancialassistant D/Statistics Activity: 3.0 Schools 

的ValueFormatter:

xAxis.setValueFormatter(new AxisValueFormatter() { 
      @Override 
      public String getFormattedValue(float value, AxisBase axis) { 

       int i = (int) value; 
       Log.d(TAG, value + " " + i); 

       return String.valueOf(categoriesEntries.get(i).getData()); 

      } 

      @Override 
      public int getDecimalDigits() { 
       return 0; 
      } 
     }); 
+0

請問,你能展示一個有效的例子,看看究竟是什麼問題? –

+0

@ error404感謝您的回覆。我用更多的細節更新了這個問題。 –

回答

0

對於其他人誰也有同樣問題,我解決它通過刪除setLabelCount()