2015-07-09 7 views
5

Я строит диаграмму, используя IOS-графики IOS CHARTКСН-диаграммы Поплавок для Integer YAxis

Я пытаюсь преобразовать поплавки в междунар, но IOS-карты позволяет только для поплавков в записи данных:

 let result = ChartDataEntry(value: Float(month), xIndex: i) 

Кто-нибудь знает, что метод для обеспечения использования только ints?

ответ

7

Вам просто нужно настроить Пример NSNumberFormatter ...

:

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

NSNumberFormatter очень мощный класс, вы можете сделать многое другое с ним. :-)

+0

Спасибо вам помочь. Я пробовал это, но, к сожалению, это не сработало. Невозможно найти какую-либо информацию о репо :( –

+1

@HannahLouisaCarney Это действительно работает. Что вы пробовали? Возможно, вы устанавливаете неправильное значение PropertyFormatter 'property'? У разных компонентов есть это свойство отдельно –

+0

Вы правы, извините! добавлено: self.lineChartholder.leftAxis.valueFormatter = NSNumberFormatter() self.lineChartholder.leftAxis.valueFormatter? .minimumFractionDigits = 0 –

0

Это сработало для меня. Тем не менее, ярлыки оси Y будут округлены при отображении небольших чисел, поэтому, если вы планируете, скажем, 1 или 2, диаграмма будет отображать 0 дважды. (Смотрите здесь: Force BarChart Y axis labels to be integers?)

let numberFormatter = NSNumberFormatter() 
numberFormatter.generatesDecimalNumbers = false 
chartDataSet.valueFormatter = numberFormatter 
// Converting to Int for small numbers rounds weird 
//barChartView.rightAxis.valueFormatter = numberFormatter 
//barChartView.leftAxis.valueFormatter = numberFormatter 
16

для Swift 3.0 и диаграммы 3.0 необходимо включить и настроить детализацию для оси.

Пример:

barChart.leftAxis.granularityEnabled = true 
barChart.leftAxis.granularity = 1.0 
0

Вы можете попробовать это, он работал хорошо для меня

let formatter = NSNumberFormatter() 
formatter.numberStyle = .NoStyle 
formatter.locale = NSLocale(localeIdentifier: "es_CL") 
BarChartView.leftAxis.valueFormatter = formatter 
Смежные вопросы