Элементарная диаграмма CorePlot исчезает, когда есть только 1 график данных

#ios #objective-c #core-plot

#iOS #objective-c #core-plot

Вопрос:

У меня есть точечная диаграмма coreplot, которая отлично работает годами, но недавно выяснилось, что если есть только одно значение данных графика, которое больше 0, круговая диаграмма отображаться не будет. Он отображается нормально, пока имеется более 1 данных, превышающих 0. Было бы здорово, если бы он мог отображать только одно цветовое кольцо.

Кто-нибудь сталкивался с этой проблемой? Спасибо!

 - (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;
}

  

Ответ №1:

Круговая диаграмма отображает значения данных как часть целого. Если все значения данных в сумме равны нулю (0), ширина среза не определена (разделить на ноль). Мы могли бы добавить способ отображения пустой диаграммы. В то же время вы можете просто указать ненулевое фиктивное значение данных, если у вас нет действительных данных для построения. Измените заливку, границы и метки по желанию, чтобы указать на отсутствие данных.

Комментарии:

1. Спасибо, Эрик. Да, я использовал этот обходной путь, предоставив 0.00001 в качестве фиктивных данных для 0. Кольцо отображается идеально!