微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift – 使用iOS-Charts的组合图表(线图和条形图)

我试图在 swift(iOS图表)中组合一个线条图和条形图. x轴和y轴似乎都可以正确缩放,但数据未显示在图表上.我错过了什么?

enter image description here

import UIKit
import Charts

class CombinedChartsTest: UIViewController {


@IBOutlet weak var combinedChart: CombinedChartView!


let months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]
let unitsSold = [2.0,4.0,6.0,3.0,12.0,16.0,17.0,2.0,5.0,4.0]

override func viewDidLoad() {
    super.viewDidLoad()

    setChart(months,yValuesLineChart:  unitsSold,yValuesBarChart: unitsSold)
}

func setChart(xValues: [String],yValuesLineChart: [Double],yValuesBarChart: [Double]) {
    combinedChart.noDataText = "Please provide data for the chart."

    var yVals1 : [ChartDataEntry] = [ChartDataEntry]()
    var yVals2 : [BarChartDataEntry] = [BarChartDataEntry]()

    for i in 0..<xValues.count {

        yVals1.append(ChartDataEntry(value: yValuesLineChart[i],xIndex: i))
        yVals2.append(BarChartDataEntry(value: yValuesBarChart[i] - 1,xIndex: i))

    }

    let lineChartSet = LineChartDataSet(yVals: yVals1,label: "Line Data")
    let barChartSet: BarChartDataSet = BarChartDataSet(yVals: yVals2,label: "Bar Data")

    let data: CombinedChartData = CombinedChartData(xVals: xValues,dataSets: [lineChartSet,barChartSet])

    combinedChart.data = data

}
}

解决方法

我终于找到了遗漏的东西.

import UIKit
import Charts

class CombinedChartsTest: UIViewController {


@IBOutlet weak var combinedChartView: CombinedChartView!


let months = ["Jan",yValuesBarChart: [Double]) {
    combinedChartView.noDataText = "Please provide data for the chart."

    var yVals1 : [ChartDataEntry] = [ChartDataEntry]()
    var yVals2 : [BarChartDataEntry] = [BarChartDataEntry]()

    for i in 0..<xValues.count {

        yVals1.append(ChartDataEntry(value: yValuesLineChart[i],label: "Bar Data")


    let data: CombinedChartData = CombinedChartData(xVals: xValues)
    data.barData = BarChartData(xVals: xValues,dataSets: [barChartSet])
    data.lineData = LineChartData(xVals: xValues,dataSets: [lineChartSet])

    combinedChartView.data = data

}
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐