iOS CorePlot - цифровое форматирование оси y

Я работаю с Core Plot 1.1, чтобы нарисовать простой график рассеяния в iOS6. Я использую следующий код для правильной форматирования оси y, которая затем динамически масштабируется до данных графика.

CPTXYAxis *y = axisSet.yAxis;
y.labelingPolicy              = CPTAxisLabelingPolicyAutomatic;
y.minorTicksPerInterval       = 3;
y.preferredNumberOfMajorTicks = 6;
y.majorGridLineStyle          = majorGridLineStyle;
y.minorGridLineStyle          = minorGridLineStyle;

...

NSNumberFormatter * yformatter =  [[NSNumberFormatter alloc] init];
[yformatter setUsesSignificantDigits:YES];
[yformatter setMaximumSignificantDigits:4];
[yformatter setMaximumFractionDigits:1];
[yformatter setRoundingMode:NSNumberFormatterRoundCeiling];
y.labelFormatter = yformatter;

Затем я динамически изменяю диапазон на основе данных, которые должны быть построены с использованием maxPlotValue, но сведены к минимуму.

plotSpace.xRange = [CPTPlotRange
                    plotRangeWithLocation:CPTDecimalFromFloat(0)
                    length:CPTDecimalFromFloat(5)];
plotSpace.yRange = [CPTPlotRange
                    plotRangeWithLocation:CPTDecimalFromFloat(0)
                    length:CPTDecimalFromFloat(maxPlotValue)];

В большинстве случаев это отлично работает, но иногда я получаю странную ошибку форматирования, как показано на рисунке ниже, где вместо 0.600 отображается 0.6001. Если вручную изменить минимальный диапазон до 2, ошибка исчезнет.

Причина, по которой я использую 4 значащие цифры, состоит в том, что у меня могут быть номера до 8000, а затем они отображаются без доли. Если я изменил setMaximumSignificantDigits на 3, я получу 0.601, что, я думаю, указывает на то, что проблема связана с CPTAxisLabelingPolicyAutomatic.

Любая помощь по этому вопросу будет принята с благодарностью.

Fig 1, Error in formatting: https://dl.dropbox.com/u/8083213/fig_1.png

Fig 2, No error in formatting: https://dl.dropbox.com/u/8083213/fig_2.png

0
nl ja de

1 ответы

Это звучит как ошибка округления в вычислениях меток. Сообщите об этом на главном графике вопросете .

0
добавлено
Спасибо, я сделаю это. Любые идеи об обходном пути в среднем?
добавлено автор Helgi Hall, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.