繁体   English   中英

快速堆积条形图

[英]swift stacked bar chart

我正在使用Swift中的Charts库绘制条形图。

这是我的代码:

class barChartVC: UIViewController {

    let months = ["January" , "February" , "March" , "April" , "May" , "June" , "July" , "August"]
    let unitsSold = [10.0,20.0,30.0,20.0,20.0,10.0,15.0,20.0]
    let unitsSold1 = [20.0,30.0,50.0,40.0,30.0,20.0,45.0,50.0]

    var dataEntries: [BarChartDataEntry] = []
    @IBOutlet var barChartView: BarChartView!

    override func viewDidLoad() {
        super.viewDidLoad()

        setChartBarGroupDataSet(dataPoints: months, values: unitsSold, values2: unitsSold1, sortIndex: 0)
    }

    func setChartBarGroupDataSet(dataPoints: [String], values: [Double], values2: [Double],sortIndex:Int) {
        for i in 0..<dataPoints.count
        {
            let dataEntry = BarChartDataEntry(x: values[i], y: Double(i))
            let dataEntry1 = BarChartDataEntry(x: values2[i], y: Double(i))
            dataEntries.append(dataEntry)
            dataEntries.append(dataEntry1)
        }

        let chartDataSet = BarChartDataSet(values: dataEntries, label: " ")

        var COLOR_SET = [UIColor]()
        COLOR_SET = [UIColor.red,UIColor.green]

        chartDataSet.setColors(COLOR_SET, alpha: 1.0)

        let dataSets: [BarChartDataSet] = [chartDataSet]

        let data = BarChartData(dataSets: dataSets)
        barChartView.data = data // Fatal error is here

        barChartView.descriptionText = "Bar Chart"
        barChartView.rightAxis.drawGridLinesEnabled = false
        barChartView.rightAxis.drawAxisLineEnabled = false
        barChartView.rightAxis.drawLabelsEnabled = false
        barChartView.animate(xAxisDuration: 2.0, yAxisDuration: 2.0, easingOption: .easeInBounce)   
    }
}

我在代码中标记的行上遇到了致命错误。

致命错误:解开Optional值时意外发现nil

预先感谢帮助我的人。

我能够正确运行您的代码。 我相信您面临的问题是IBOutlet。

确保情节提要中选定的类是BarChartView,并且情节提要中的视图已连接到ViewController中的IBOutlet

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM