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);
谢谢
像这样的问题可能有多种原因:
- 未使用最新版本的 MPAndroidChart。确保您使用的是包含所有错误修复的 latest version。
使用不适合数据集的立方强度。尝试使用不同的值进行试验:
lineDataSet.setCubicIntensity():
- 对数据集的 xIndices 使用了不正确的粒度。 Cubics 在 xIndex 条目之间均匀且小的间隙下工作良好。尝试预处理您的数据集,以便有适当的粒度。例如,如果输入数据具有毫秒粒度的时间戳,但您只想为每隔几分钟发生的事件绘制点图,请避免将 xIndex 设置为毫秒值的条目。尝试使用秒甚至分钟来创建 DataSet 的条目。
如果这两种方法都失败,您的数据集可能需要水平立方体来解决问题:
lineDataSet.setMode(LineDataSet.Mode.HORIZONTAL_BEZIER);
我正在尝试制作带有立方图的折线图。结果如下面的屏幕截图所示:三次方贝塞尔曲线显示错误并且有“尖峰”。有人可以帮我让它正确显示吗?
这是我的配置:
LineDataSet lineDataSet = new LineDataSet(entries,nameLabel);
lineDataSet.setColor(Constants.colors.get(i));
lineDataSet.setDrawValues(false);
lineDataSet.setDrawCircles(false);
lineDataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);
谢谢
像这样的问题可能有多种原因:
- 未使用最新版本的 MPAndroidChart。确保您使用的是包含所有错误修复的 latest version。
使用不适合数据集的立方强度。尝试使用不同的值进行试验:
lineDataSet.setCubicIntensity():
- 对数据集的 xIndices 使用了不正确的粒度。 Cubics 在 xIndex 条目之间均匀且小的间隙下工作良好。尝试预处理您的数据集,以便有适当的粒度。例如,如果输入数据具有毫秒粒度的时间戳,但您只想为每隔几分钟发生的事件绘制点图,请避免将 xIndex 设置为毫秒值的条目。尝试使用秒甚至分钟来创建 DataSet 的条目。
如果这两种方法都失败,您的数据集可能需要水平立方体来解决问题:
lineDataSet.setMode(LineDataSet.Mode.HORIZONTAL_BEZIER);