当只有 1 个绘图数据时,CorePlot 饼图消失

CorePlot piechart disappears when there's only 1 plot data

多年来我一直在完美地制作 coreplot 饼图 运行,但最近发现了一个非常极端的情况,如果只有一个 plot 数据值大于 0,则饼图将不会显示。大于0的数据只要有1个以上就可以显示,要是能只显示一个色环就好了。

有人遇到过这个问题吗?谢谢!

- (NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot {
    return 3;
}

- (double)doubleForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)idx {
    if (CPTPieChartFieldSliceWidth == fieldEnum) {
        return [[self plotData][idx][@"double"] doubleValue];
    }
    return 0;
}

饼图将数据值显示为整体的一小部分。如果所有数据值总和为零 (0),则切片宽度未定义(除以零)。我们可以添加一种显示空图表的方法。同时,当您没有要绘制的有效数据时,您可以只提供一个 non-zero 虚拟数据值。根据需要更改填充、边框和标签以指示缺少数据。