I am using ios chart to implement Line graph in Swift 3 . As in earlier versions of Swift, we had constructor to bind x values to Line graph, but there doesn't seems any such in Swift 3?
Kindly help if anyone has some inputs.
Please try this to get your XAxis Values.
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.red]
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)
}
}
Thanks Sriram
Please care to read the migration notes in Release Notes
- All dataset constructors have changed - they do not take an array of x-indices anymore.
- All entry constructors have changed - they take in an X and a Y.
Basically, the x values are now taken from the entries.
If you want to change which values are displayed on the x-axis, you can change xAxis.axisMinimum and xAxis.axisMaximum and format them using xAxis.valueFormatter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With