2016-11-07 6 views
3

Ich verwende iOS Charts.framework (https://github.com/danielgindi/Charts) in meinem schnellen 3.0 xcodeproject.LineChartData ohne x Werte auf Konstruktor Charts Swift 3

Ich weiß, dass "Alle Dataset-Konstruktoren sich geändert haben - sie nehmen kein Array von x-Indizes mehr" aber wie setze ich jetzt Strings auf meiner X-Achse, wenn LineChartData keine "xVals" -Parameter mehr hat? ?? Bevor war so einfach zu tun, dass ...

let weights: [Double] = self.getWeigths() 
let weightDates: [String] = self.getWeightDates() 

var yValues : [ChartDataEntry] = [ChartDataEntry]() 
    for i in 0 ..< dateLastWeights.count { 
     let entry = ChartDataEntry(x: Double(i), y: weights[i]) 
     yValues.append(entry) 
    } 
let set: LineChartDataSet = LineChartDataSet(values: yValues, label: "First Set") 
var dataSets : [LineChartDataSet] = [LineChartDataSet]() 
dataSets.append(set) 

let data: LineChartData = LineChartData(xVals: weightDates, dataSets: dataSets) 

Antwort

0

Nachdem viele Dinge und diskutieren mit anderen Entwicklern versuchen wir es geschafft!

self.lineChart.xAxis.granularity = 1 
self.lineChart.xAxis.valueFormatter = DefaultAxisValueFormatter(block: { (index, _) -> String in 
     return self.dateLastWeights[Int(index)] 
    }) 
0

Seit 3.0.1-Version können Sie auch tun:

lineChart.xAxis.valueFormatter = IndexAxisValueFormatter(values: labels) 
lineChart.xAxis.granularity = 1.0