2015-10-20 93 views
1

我试着设置Y轴为整数使用NSNumberFormatter,设置IOS的图表浮点数到整数Y轴

yAxis.valueFormatter = NSNumberFormatter() 
yAxis.valueFormatter.minimumFractionDigits = 0 

但这里的问题是我收到重复的Y轴值 - 0,1,2,2,3,4和5. 这可以如何消除?

enter image description here

这些都是我所面临的问题。我尝试设置

barChart.leftAxis.axisMaximum = 5.0 
    barChart.leftAxis.axisMinimum = 0.0 
    barChart.leftAxis.customAxisMin = 0 
    barChart.leftAxis.customAxisMax = 5.0 

但没有帮助任何建议?

+0

此问题已解答这里:http://stackoverflow.com/questions/31318858/ios-charts-float-to-integer-yaxis –

回答

1

这是无法避免的,因为您不允许小数位。

minimumFractionDigits = 0意味着无小数如果可能的话,像2.1和2.0,它们将导致2.1和2(如果maximumFractionDigits = 1)

你需要给什么是原始值,什么是maximumFractionDigits

价值的信息

编辑:

y轴标签被默认经由internal func computeAxisValues

它CALCULAT计算e基于最大值和最小值的间隔以及标签计数。

如果启用了_yAxis.isForceLabelsEnabled,那么它将读取labelCount并且只使用(max-min)/(labelCount-1)来计算间隔。它默认是禁用的。

当isForceLabelsEnabled为false时,它有一个小算法来计算什么是获得一个好看的数字的正确方法。

看看internal func computeAxisValues找出满足您的需求。你的问题的第二部分

更新

  1. 你不应该接触axisMaximum也不闵
  2. 使forceLabelsEnabled
  3. 变化yAxis.labelCount 6或5或任何你喜欢
  4. 使xAxis.wordWrapEnabled
+0

对不起,我没有得到你。我不想在我的Y轴上显示小数。我会给你举个例子。我需要在我的yAxis上显示评分,评分可能会在0到5之间变化,但值可以是[2.1,4.3,5,3.5,3,2,1],类似这样。我的yAxis不应该有十进制显示。我尝试设置barChart.leftAxis.axisMaximum = 5.0 barChart.leftAxis.axisMinimum = 0.0 barChart.leftAxis.customAxisMin = 0 barChart.leftAxis.customAxisMax = 5.0 但没有帮助。 – Ash

+0

解答已更新。你应该使用'leftAxis.customAxisMin/Max'。 – Wingzero

+0

它不起作用。任何工作?更新了问题。 – Ash