IOS核心图在Y轴上格式化大数字

时间:2015-10-28 18:01:43

标签: ios objective-c graph core-plot nsnumberformatter

我在Yaxis上画得非常多。我的要求是,如果我得到1000它应该转换为1K,10000应该显示10K和1000000应该显示1M等等。如何通过使用NSNumberFormatter实现这一点?如果没有请提供任何其他替代解决方案。我使用下面的代码

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];

axisSet.yAxis.labelFormatter = numberFormatter;  
axisSet.yAxis.labelAlignment = CPTAlignmentRight;
axisSet.yAxis.majorGridLineStyle = gridLineStyle;
axisSet.yAxis.majorTickLength = 4.0f;
axisSet.yAxis.minorTicksPerInterval = 0.0;
axisSet.yAxis.labelOffset           = 5.0;

1 个答案:

答案 0 :(得分:0)

您可以使用NSNumberFormatter multiplier属性以“K”或“M”显示值。您无法切换到具有相同格式化程序的另一个乘数。如果您需要显示一个大范围,这样做是有意义的,您需要创建一个NSNumberFormatter的子类来格式化值。 Core Plot Plot Gallery 示例应用程序中的PiNumberFormatter类显示了如何制作自定义数字格式化程序。