如何使用丹尼尔金迪/饼图图表在swift(IOS图表)中显示百分比符号

我正在使用图表框架(丹尼尔·金迪)。 它工作正常,但如何显示%(签名)的饼图?
我也尝试使用NSNumberFormatter()方法来隐藏数据值的百分比,但没有得到%符号。
我在这里上传代码

@IBOutlet var pieChart: PieChartView! override func viewDidLoad() { super.viewDidLoad() var data = [25.0,37.5,12.5,12.5,12.5] // pie chart data var status = ["A","B","C","D","E"] // status setChart(status, values: data) self.pieChart.drawSliceTextEnabled = false } func setChart(dataPoints: [String], values: [Double]) { pieChart.noDataText = "you need to provide data for chart" pieChart.noDataTextDescription = "" self.pieChart.descriptionText = "" var dataEntries: [ChartDataEntry] = [] //pieChart.centerText = " " for i in 0..<dataPoints.count { let dataEntry = ChartDataEntry(value: values[i], xIndex: i) dataEntries.append(dataEntry) } let pieChartDataSet = PieChartDataSet(yVals: dataEntries, label: "") 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 } let pieChartData = PieChartData(xVals: dataPoints, dataSet: pieChartDataSet) pieChart.data = pieChartData pieChart.animate(yAxisDuration: 2.0, easingOption: .EaseInOutBack) } 

输出:=>

在这里输入图像说明

在pieChart上显示%符号。

下载示例项目

只需使用下面的代码。

 let formatter = NSNumberFormatter() formatter.numberStyle = .PercentStyle formatter.maximumFractionDigits = 1 formatter.multiplier = 1.0 pieChartData.dataSet?.valueFormatter = formatter 

在切片上显示值后,您将得到%符号。

在这里输入图像说明

来源 https://github.com/danielgindi/Charts

有一个快乐的编码。

Swift3使用最新版本的图表,你可以在饼图上进行%格式化,如下所示:

  let formatter = NumberFormatter() formatter.numberStyle = .percent formatter.maximumFractionDigits = 1 formatter.multiplier = 1.0 pieChartData.setValueFormatter(DefaultValueFormatter(formatter:formatter)) 

只需添加这些行来格式化PieChart中的百分比。

  let formatter = NSNumberFormatter() formatter.numberStyle = .PercentStyle formatter.maximumFractionDigits = 1 formatter.multiplier = 1.0 pieChartData.setValueFormatter(formatter) // text color of percentage label slcCell.pieChartView.data?.setValueTextColor(UIColor.clearColor()) 
  let formatter = NumberFormatter() formatter.numberStyle = .percent formatter.maximumFractionDigits = 1 formatter.multiplier = 1.0 chart.data?.setValueFormatter(formatter as? IValueFormatter)