2016-12-26 303 views
3

我正在嘗試使一個三維圖的LineChart。結果如下面的截圖所示:立方貝塞爾顯示錯誤,並有「尖峯」。有人可以幫助我使它看起來正確嗎?MPAndroidChart:LineChart與三次貝塞爾顯示錯誤(尖峯和循環)

這是我的配置:

 LineDataSet lineDataSet = new LineDataSet(entries,nameLabel); 
     lineDataSet.setColor(Constants.colors.get(i)); 
     lineDataSet.setDrawValues(false); 
     lineDataSet.setDrawCircles(false); 
     lineDataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER); 

謝謝 cubic line chart with spikes

回答

3

問題這樣可以有許多原因:

  1. 不使用最新版本的MPAndroidChart的。確保您使用的是包含所有缺陷修復程序的latest version
  2. 使用不適合DataSet的立方強度。嘗試用不同的值經歷過了:

    lineDataSet.setCubicIntensity(): 
    
  3. 使用不正確的粒度DataSet的xIndices。立方體可以很好地與xIndex條目之間的差距很小。嘗試預處理您的DataSet,以便有適當的粒度。例如,如果輸入數據具有毫秒粒度的時間戳,但您只想爲每幾分鐘發生的事件繪製點圖,請避免將xIndex設置爲毫秒值的條目。嘗試改爲使用秒或甚至分鐘輸入數據集。

如果這兩種方法都失敗,你的數據集可能需要水平三次,這將解決該問題:

lineDataSet.setMode(LineDataSet.Mode.HORIZONTAL_BEZIER); 
+0

我lineDataSet.setMode(LineDataSet.Mode.HORIZONTAL_BEZIER)審判; – Malcom

+0

這是一個更好一點 – Malcom

+0

@Malcolm你使用什麼粒度的時間?這可能是您需要使用分鐘數而不是秒數的情況。很難說,沒有看你的數據雖然 –