我正在使用自动命名策略在核心图中绘制图形。
我的问题是图表中的数字很高。
例如,轴具有1000000.0 2000000.0 3000000.0
我想用某种方法来覆盖它们并使它们分别为1.00m,2.00m和3.00m
我查看了轴委托,但它仅返回布尔值,而不返回特定标签。我还探讨了设置轴标签格式化程序,但是不能在末尾添加“ m”,也不认为它可以将数字转换为类似于科学计数法的十进制数,而无需在末尾加指数。
最佳答案
答案是在轴上设置标签格式器。快速浏览一下NSNumberFormatter的文档,看来您应该能够结合使用setPositiveFormat
,setMultiplier
和setPositiveSuffix
来完成所需的工作。
就像是:
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/