我正在使用自动命名策略在核心图中绘制图形。

我的问题是图表中的数字很高。

例如,轴具有1000000.0 2000000.0 3000000.0

我想用某种方法来覆盖它们并使它们分别为1.00m,2.00m和3.00m

我查看了轴委托,但它仅返回布尔值,而不返回特定标签。我还探讨了设置轴标签格式化程序,但是不能在末尾添加“ m”,也不认为它可以将数字转换为类似于科学计数法的十进制数,而无需在末尾加指数。

最佳答案

答案是在轴上设置标签格式器。快速浏览一下NSNumberFormatter的文档,看来您应该能够结合使用setPositiveFormatsetMultipliersetPositiveSuffix来完成所需的工作。

就像是:

NSNumberFormatter *labelFormatter = [[NSNumberFormatter alloc] init];
[labelFormatter setPositiveFormat:@"#.##"];
[labelFormatter setPositiveSuffix:@"m"];
[labelFormatter setMultiplier:[NSNumber numberWithDouble:0.000001]];
axisSet.yAxis.labelFormatter = labelFormatter;
[labelFormatter release];


FWIW,在这里严格不需要setPositiveSuffix的调用-您只需在格式字符串([labelFormatter setPositiveFormat:@"#.##m"])中包含“ m”,然后根据需要将其保留。为了完整起见,我将其包括在此处,以防您需要进行比此更复杂的格式化。

关于ios - Coreplot中的轴标签修改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23411006/

10-13 08:20