Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Line graph using ios charts swift 3

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.

like image 272
Bhagyalaxmi Poojary Avatar asked Jan 27 '26 04:01

Bhagyalaxmi Poojary


2 Answers

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

like image 167
Sri Avatar answered Jan 29 '26 20:01

Sri


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.

like image 37
Sulthan Avatar answered Jan 29 '26 18:01

Sulthan



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!