我正在使用自动命名策略在核心图中绘制图表。
我的问题是我的图表中的数字非常高。
例如,轴具有1000000.0 2000000.0 3000000.0
我想要一些方法来重写它们并使它们成为1.00m 2.00m和3.00m
我查看了轴委托,但它只返回一个bool而不是一个特定的标签。我还探讨了设置轴标签格式化程序但是不能在末尾添加“m”,也不认为它可以将数字转换为类似于科学记数法的十进制数而不是最终的指数。
答案 0 :(得分:2)
答案是在轴上设置标签格式化程序。通过快速查看NSNumberFormatter的文档,您似乎可以通过setPositiveFormat
,setMultiplier
和setPositiveSuffix
的组合来执行您正在寻找的内容。< / p>
类似的东西:
NSNumberFormatter *labelFormatter = [[NSNumberFormatter alloc] init];
[labelFormatter setPositiveFormat:@"#.##"];
[labelFormatter setPositiveSuffix:@"m"];
[labelFormatter setMultiplier:[NSNumber numberWithDouble:0.000001]];
axisSet.yAxis.labelFormatter = labelFormatter;
[labelFormatter release];
FWIW,setPositiveSuffix
的来电在这里是非常必要的 - 你可以只包括&#34; m&#34;格式字符串([labelFormatter setPositiveFormat:@"#.##m"]
)中,如果需要,请保留该调用。为了完整起见,我把它包含在这里,以防你需要做更复杂的格式化。