MPAndroidChart:带有三次贝塞尔曲线的 LineChart 显示错误(尖峰和循环)

Mal*_*com 5 linechart cube mpandroidchart cubic-bezier

我正在尝试使用立方图制作 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);
Run Code Online (Sandbox Code Playgroud)

谢谢 带尖峰的立方折线图

Dav*_*son 7

像这样的问题可能有多种原因:

  1. 不使用最新版本的 MPAndroidChart。确保您使用的是包含所有错误修复的最新版本
  2. 使用不适合 DataSet 的三次强度。尝试尝试不同的值:

    lineDataSet.setCubicIntensity():
    
    Run Code Online (Sandbox Code Playgroud)
  3. 对数据集的 xIndices 使用不正确的粒度。Cubics 可以很好地处理 xIndex 条目之间的偶数和小间隙。尝试预处理您的数据集,以便有适当的粒度。例如,如果输入数据具有毫秒粒度的时间戳,但您只想绘制每隔几分钟发生的事件的点,请避免将 xIndex 设置为毫秒值的条目。尝试改为使用秒甚至分钟来输入数据集。

如果这两种方法都失败了,你的数据集可能需要一个水平立方来解决这个问题:

lineDataSet.setMode(LineDataSet.Mode.HORIZONTAL_BEZIER);
Run Code Online (Sandbox Code Playgroud)