5

我正在尝试制作带有三次图的 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);

谢谢 带尖峰的三次折线图

4

1 回答 1

7

此类问题可能有多种原因:

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

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

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

lineDataSet.setMode(LineDataSet.Mode.HORIZONTAL_BEZIER);
于 2016-12-26T20:53:30.840 回答