正确的数据未显示在 ios 图表中 [英] Correct data not showing in ios Charts

查看:32
本文介绍了正确的数据未显示在 ios 图表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用

数字似乎不正确.代码:

@IBOutlet 弱 var chartView:PieChartView!覆盖 func viewDidLoad() {super.viewDidLoad()let days = ["Mo", "Tu", "Wed", "Thur", "Fri", "Sat", "Sun"]让毛额 = [11.00, 90.95, 250.00, 40.90, 60.88, 99.99, 25.00]setChart(数据点:天,值:总)}func setChart(dataPoints: [String], values: [Double]) {var dataEntries: [ChartDataEntry] = []对于 i 在 0..<dataPoints.count {让 dataEntry = ChartDataEntry(x: values[i], y: Double(i))dataEntries.append(dataEntry)}让 pieChartDataSet = PieChartDataSet(values: dataEntries, label: "Gross Income")pieChartDataSet.sliceSpace = 2.0let pieChartData = PieChartData(dataSets: [pieChartDataSet])//这里的某个地方让我感到困惑.var 颜色:[UIColor] = []for _ in 0..<dataPoints.count {让红色 = Double(arc4random_uniform(256))让绿色 = Double(arc4random_uniform(256))让蓝色 = Double(arc4random_uniform(256))让 color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1)颜色.附加(颜色)}pieChartDataSet.colors = 颜色chartView.data = pieChartData}

我错过了什么吗?非常感谢您的第二只眼睛.

解决方案

您已更改 x &y 值,因此 index 将作为饼图的值出现.另外,请使用 PieChartDataEntry.(我的盒子上的工作代码)

 覆盖 func viewDidLoad() {super.viewDidLoad()let days = ["Mo", "Tu", "Wed", "Thur", "Fri", "Sat", "Sun"]让毛额 = [11.00, 90.95, 250.00, 40.90, 60.88, 99.99, 25.00]setChart(天:天,毛:毛)}func setChart(days: [String], 毛额: [Double]) {var dataEntries: [ChartDataEntry] = []对于我在 0..

试试这个让我知道.

Im using Charts Version 3.0.1. Im currently teaching myself Swift by converting my Rails project. I have no knowledge of Objective C so please bear with me; I've done ok so far.

My code below is/may not be formatted correctly as Im missing the days array in the PieChart:

Numbers seem not to be correct. The code:

@IBOutlet weak var chartView: PieChartView!

override func viewDidLoad() {
    super.viewDidLoad()

    let days = ["Mo", "Tu", "Wed", "Thur", "Fri", "Sat", "Sun"]
    let gross = [11.00, 90.95, 250.00, 40.90, 60.88, 99.99, 25.00]

    setChart(dataPoints: days, values: gross)
}

func setChart(dataPoints: [String], values: [Double]) {
    var dataEntries: [ChartDataEntry] = []

    for i in 0..<dataPoints.count {

        let dataEntry = ChartDataEntry(x: values[i], y: Double(i))
        dataEntries.append(dataEntry)

    }
    let pieChartDataSet = PieChartDataSet(values: dataEntries, label: "Gross Income")
    pieChartDataSet.sliceSpace = 2.0
    let pieChartData = PieChartData(dataSets: [pieChartDataSet]) // somewhere here confuses me.

    var colors: [UIColor] = []

    for _ in 0..<dataPoints.count {
        let red = Double(arc4random_uniform(256))
        let green = Double(arc4random_uniform(256))
        let blue = Double(arc4random_uniform(256))

        let color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1)
        colors.append(color)
    }

    pieChartDataSet.colors = colors

    chartView.data = pieChartData
}

Have I missed out something? Your second eye would be highly appreciated.

解决方案

You have changed x & y values and hence index is coming as your pie chart's value. Also, please use PieChartDataEntry. (working code on my box)

  override func viewDidLoad() {
    super.viewDidLoad()
    let days = ["Mo", "Tu", "Wed", "Thur", "Fri", "Sat", "Sun"]
    let gross = [11.00, 90.95, 250.00, 40.90, 60.88, 99.99, 25.00]

    setChart(days: days, gross: gross)
  }

  func setChart(days: [String], gross: [Double]) {
    var dataEntries: [ChartDataEntry] = []

    for i in 0..<days.count {
      let dataEntry = PieChartDataEntry(value : gross[i], label : days[i])
      dataEntries.append(dataEntry)
    }

    let pieChartDataSet = PieChartDataSet(values: dataEntries, label: "Gross Income")
    pieChartDataSet.sliceSpace = 2.0
    let pieChartData = PieChartData(dataSets: [pieChartDataSet])

    var colors: [UIColor] = []

    for _ in 0..<days.count {
      let red = Double(arc4random_uniform(256))
      let green = Double(arc4random_uniform(256))
      let blue = Double(arc4random_uniform(256))

      let color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1)
      colors.append(color)
    }

    pieChartDataSet.colors = colors
    pieChartView.data = pieChartData
  }

Try this and let me know.

这篇关于正确的数据未显示在 ios 图表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆