2016-11-18 5 views
1

Ich hatte meinen Wert in Kerndaten speichern und es bei BarChart anzeigen. Meine Kategorie Menge ist in 8.5 und 420.10.Charts 3.0 - Kann nicht Dezimal in BarChart zeigen - iOS Swift

Aber die Anzeige im Balkendiagramm ist 8 und 420. Wie soll ich den Wert in Dezimal setzen?

enter image description here

var dataEntries: [BarChartDataEntry] = [] 

    for i in 0..<dataPoints.count { 
    let value = values[i] as Double 
    print("value=\(value)") 
    let dataEntry = BarChartDataEntry(x: Double(i), y:value) 
    dataEntries.append(dataEntry) 
} 

let chartDataSet = BarChartDataSet(values: dataEntries, label: "Total Amount") 
chartDataSet.colors = [.red, .yellow, .green, .blue, .brown] 
chartDataSet.colors = ChartColorTemplates.joyful() 
barChartView.xAxis.labelPosition = .bottom 
barChartView.chartDescription?.text = "" 
barChartView.xAxis.drawGridLinesEnabled = false 
barChartView.leftAxis.drawLabelsEnabled = false 
barChartView.leftAxis.granularityEnabled = true 

let chartData = BarChartData() 
chartData.addDataSet(chartDataSet) 
barChartView.data = chartData 

Antwort

2

ich die Antwort bekommen:

let format = NumberFormatter() 
format.numberStyle = .decimal 
let formatter = DefaultValueFormatter(formatter: format) 
chartData.setValueFormatter(formatter) 
0

Versuchen Sie es mit NSNumberFormatter:

let numberFormatter = NumberFormatter() 
numberFormatter.numberStyle = .decimal 
barChartView.leftAxis.valueFormatter = numberFormatter 

sehen Versuchen, welche die Bar Wertklasse ist und dort anwenden, wird wahrscheinlich

+0

Fehler: Kann den Wert 'NumberFormatter' nicht dem Typ 'IAxisValueFormatter' zuweisen – user831098

+0

Verwenden Sie Swift 3? – Tj3n

+0

Ja, ich benutze Swift3 – user831098