饼图使用图表库与swift 3

我正在使用图表库在我的应用程序中集成饼图,并且我的代码是图表数据的问题

import UIKit import Charts class ViewController: UIViewController { @IBOutlet weak var pieChartView: PieChartView! override func viewDidLoad() { super.viewDidLoad() let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"] let unitsSold = [10.0, 4.0, 6.0, 3.0, 12.0, 16.0] setChart(dataPoints: months, values: unitsSold) } func setChart(dataPoints: [String], values: [Double]) { var dataEntries: [ChartDataEntry] = [] for i in 0..<dataPoints.count { let dataEntry1 = ChartDataEntry(x: Double(i), y: values[i], data: dataPoints[i] as AnyObject) dataEntries.append(dataEntry1) } print(dataEntries[0].data) let pieChartDataSet = PieChartDataSet(values: dataEntries, label: "Units Sold") let pieChartData = PieChartData(dataSet: pieChartDataSet) pieChartView.data = pieChartData 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 } } 

当运行应用程序时,我得到了一些东西
在此处输入图像描述

但我需要完整数据记录中的饼图,如下面的屏幕截图 在此处输入图像描述

此问题的更新。

  func updateChartData() { let chart = PieChartView(frame: self.view.frame) // 2. generate chart data entries let track = ["Income", "Expense", "Wallet", "Bank"] let money = [650, 456.13, 78.67, 856.52] var entries = [PieChartDataEntry]() for (index, value) in money.enumerated() { let entry = PieChartDataEntry() entry.y = value entry.label = track[index] entries.append( entry) } // 3. chart setup let set = PieChartDataSet( values: entries, label: "Pie Chart") // this is custom extension method. Download the code for more details. var colors: [UIColor] = [] for _ in 0.. 

所有信息未显示的原因是因为您在创建入口点时使用父初始化程序。

代替

 let dataEntry1 = ChartDataEntry(x: Double(i), y: values[i], data: dataPoints[i] as AnyObject) 

试试这个

 let dataEntry1 = PieChartDataEntry(value: Double(i), label: dataPoints[i], data: dataPoints[i] as AnyObject) 

PieChartDataEntry专门用于饼图,因此您应该看到月份显示在图表中。

希望这能让你走上正轨