如何调试丢失的数据集

How to debug missing dataset

我正在为一个健康应用开发图表实现,用户可以选择要图表的字段。

有些字段组合从未出现在图表上。

从我目前所做的调试来看,我可以看到所有字段的值都已正确创建。

所以最终我的问题是,为什么 "Weight Moving Average"

没有线

但我真的很想知道如何调试这个问题。深入了解问题的下一步建议是什么?

代码:

if (isMovingAverage) {
        dataset.mode = LineChartModeCubicBezier;
        dataset.cubicIntensity = 0.1;
        dataset.lineWidth = 2;
        dataset.highlightEnabled = NO;
        [dataset setColor: baseColor];
        dataset.fillAlpha = 1.f;
        dataset.drawCirclesEnabled = NO;

        NSArray *gradientColors = @[
                                    (id)[UIColor whiteColor].CGColor,
                                    (id)baseColor.CGColor
                                    ];
        CGGradientRef gradient = CGGradientCreateWithColors(nil, (CFArrayRef)gradientColors, nil);

        dataset.fillAlpha = 1.f;
        dataset.fill = [ChartFill fillWithLinearGradient:gradient angle:90.f];
        dataset.drawFilledEnabled = YES;

        dataset.drawHorizontalHighlightIndicatorEnabled = NO;

        CGGradientRelease(gradient);

        NSLog(@"Dataset: %@", dataset);
    }

调试输出:

Formatting: Weight Moving Avg
2017-07-28 17:06:49.425518+0100 BodyTrackItLite[5239:1893083] Using color: UIExtendedSRGBColorSpace 0.07 0.62 0.64 1
2017-07-28 17:06:49.426723+0100 BodyTrackItLite[5239:1893083] Dataset: Charts.LineChartDataSet, label: Weight Moving Average, 140 entries

Metaphox 在他的评论中是正确的,一个数据集阻塞了其他数据集,因此解决方案是删除渐变填充。

不过,对于如何最好地调试图表组件,我没有一个好的答案。