加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:28:40 所属栏目:百科 来源:网络整理
导读:我试图在 swift(iOS图表)中组合一个线条图和条形图. x轴和y轴似乎都可以正确缩放,但数据未显示在图表上.我错过了什么? import UIKitimport Chartsclass CombinedChartsTest: UIViewController {@IBOutlet weak var combinedChart: CombinedChartView!let mo
我试图在 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

}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读