正确的数据不显示在ios图表

我使用图表版本3.0.1。 我目前通过转换我的Rails项目自学Swift。 我没有Objective C的知识,所以请忍受我; 到目前为止,我做得很好。

我下面的代码是/可能没有正确的格式,因为我缺lessPieChart days数组:

在这里输入图像说明

数字似乎不正确。 代码:

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

我错过了什么吗? 你的第二只眼睛将不胜感激。

您已经更改了x和y值,因此索引即将作为您的饼图的值。 另外,请使用PieChartDataEntry。 (我的箱子上的工作代码)

  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 } 

试试这个,让我知道。