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

MPAndroidChart: LineChart with cubic bezier displays wrong (spikes and loops)

我正在尝试制作带有立方图的折线图。结果如下面的屏幕截图所示:三次方贝塞尔曲线显示错误并且有“尖峰”。有人可以帮我让它正确显示吗?

这是我的配置:

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

谢谢

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

  1. 未使用最新版本的 MPAndroidChart。确保您使用的是包含所有错误修复的 latest version
  2. 使用不适合数据集的立方强度。尝试使用不同的值进行试验:

    lineDataSet.setCubicIntensity():
    
  3. 对数据集的 xIndices 使用了不正确的粒度。 Cubics 在 xIndex 条目之间均匀且小的间隙下工作良好。尝试预处理您的数据集,以便有适当的粒度。例如,如果输入数据具有毫秒粒度的时间戳,但您只想为每隔几分钟发生的事件绘制点图,请避免将 xIndex 设置为毫秒值的条目。尝试使用秒甚至分钟来创建 DataSet 的条目。

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

lineDataSet.setMode(LineDataSet.Mode.HORIZONTAL_BEZIER);