iOS-Charts Float to Integer YAxis

后端 未结 5 627
没有蜡笔的小新
没有蜡笔的小新 2020-12-19 04:38

I\'m building a chart using iOS-charts \"IOS

I\'m trying to convert the floats into int, but iOS-charts

相关标签:
5条回答
  • 2020-12-19 05:02

    Swift4.2 ; Xcode 10.0 :

    let numberFormatter = NumberFormatter()
    numberFormatter.generatesDecimalNumbers = false
    barChart.leftAxis.valueFormatter = DefaultAxisValueFormatter.init(formatter: numberFormatter)
    
    0 讨论(0)
  • 2020-12-19 05:04

    For Swift 3.0 and Charts 3.0 you need to enable and set granularity for the axis.

    Example:

    barChart.leftAxis.granularityEnabled = true
    barChart.leftAxis.granularity = 1.0
    
    0 讨论(0)
  • 2020-12-19 05:13

    This worked for me. However, the y-axis labels will round when displaying small numbers, so if you are charting, say 1 or 2, the chart will display 0 twice. (See here: 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
    
    0 讨论(0)
  • 2020-12-19 05:15

    You just need to adjust the NSNumberFormatter...

    Example:

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

    NSNumberFormatter is a very powerful class, you can do much much more with it. :-)

    0 讨论(0)
  • 2020-12-19 05:20

    You can try this one, it worked nicely for me

    let formatter = NSNumberFormatter()
    formatter.numberStyle = .NoStyle
    formatter.locale = NSLocale(localeIdentifier: "es_CL")
    BarChartView.leftAxis.valueFormatter = formatter
    
    0 讨论(0)
提交回复
热议问题