Gráfico lineal usando ios charts swift 3

Estoy usando ios chart para implementar el gráfico de líneas en Swift 3. Al igual que en las versiones anteriores de Swift, teníamos un constructor para vincular valores de x al gráfico de líneas, pero no parece haber ninguno en Swift 3?

Por favor ayuda si alguien tiene alguna información.

Por favor, tenga cuidado de leer las notas de migration en Notas de la versión

  • Todos los constructores de sets de datos han cambiado: ya no tienen una matriz de índices x.
  • Todos los constructores de input han cambiado: toman una X y una Y.

Básicamente, los valores de x ahora se toman de las inputs.

Si desea cambiar qué valores se muestran en el eje x, puede cambiar xAxis.axisMinimum y xAxis.axisMaximum y formatearlos utilizando xAxis.valueFormatter .

Intenta esto para get tus valores de XAxis.

 import UIKit import Charts class LineChartViewController : UIViewController { @IBOutlet weak var lineChartView: LineChartView! override func viewDidLoad() { super.viewDidLoad() let populationData :[Int : Double] = [ 1990 : 123456.0, 2000 : 233456.0, 2010 : 343456.0 ] let ySeries = populationData.map { x, y in return ChartDataEntry(x: Double(x), y: y) } let data = LineChartData() let dataset = LineChartDataSet(values: ySeries, label: "Hello") dataset.colors = [NSUIColor.networking] data.addDataSet(dataset) self.lineChartView.data = data self.lineChartView.gridBackgroundColor = NSUIColor.white self.lineChartView.xAxis.drawGridLinesEnabled = false; self.lineChartView.xAxis.labelPosition = XAxis.LabelPosition.bottom self.lineChartView.chartDescription?.text = "LineChartView Example" } override open func viewWillAppear(_ animated: Bool) { self.lineChartView.animate(xAxisDuration: 1.0, yAxisDuration: 1.0) } } 

Gracias sriram

Swift 3:

Ejemplo con barChart:

 import UIKit import Charts class StatistiqueSafetyCheckViewController: UIViewController { @IBOutlet weak var lineChartView: LineChartView! override func viewDidLoad() { super.viewDidLoad() let ys1 = Array(1..<10).map { x in return sin(Double(x) / 2.0 / 3.141 * 1.5) } let ys2 = Array(1..<10).map { x in return cos(Double(x) / 2.0 / 3.141) } let yse1 = ys1.enumerated().map { x, y in return LineChartDataEntry(x: Double(x), y: y) } let yse2 = ys2.enumerated().map { x, y in return LineChartDataEntry(x: Double(x), y: y) } let data = LineChartData() let ds1 = LineChartDataSet(values: yse1, label: "Hello") ds1.colors = [NSUIColor.networking] data.addDataSet(ds1) let ds2 = LineChartDataSet(values: yse2, label: "World") ds2.colors = [NSUIColor.blue] data.addDataSet(ds2) self.lineChartView.data = data self.lineChartView.gridBackgroundColor = NSUIColor.white self.lineChartView.chartDescription?.text = "Linechart Demo" } override open func viewWillAppear(_ animated: Bool) { self.lineChartView.animate(xAxisDuration: 1.0, yAxisDuration: 1.0) } }