使用 ios 个图表的折线图 swift 3

Line graph using ios charts swift 3

我正在使用 ios chart 在 Swift 3 中实现折线图。与 Swift 的早期版本一样,我们有构造函数将 x 值绑定到折线图,但在 Swift 3 中似乎没有这样的东西?

如果有人有任何意见,请提供帮助。

请仔细阅读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.

基本上,x 值现在取自条目。

如果要更改 x 轴上显示的值,可以更改 xAxis.axisMinimumxAxis.axisMaximum 并使用 xAxis.valueFormatter.

格式化它们

请试试这个来获取您的 X 轴值。

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)
    }
}

谢谢 斯里拉姆

Swift 3:

条形图示例:

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.red]
        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)
    }
}

要同时更改圆票颜色:

 ds1.circleColors = [NSUIColor.blue]
 ds2.circleColors = [NSUIColor.red]