如何在 swift(IOS 图表) 中使用 daniel gindi/Chart 库在饼图中显示百分比符号
How to show Percentage sign in pie chart using daniel gindi/Chart library in swift(IOS Chart)
我正在使用 Charts 框架(由 Daniel gindi 设计)。它工作正常但是
如何在饼图上显示 %(符号)?
我也在尝试使用 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)
}
输出:=>
在饼图上显示 % 符号。
只需使用下面的代码。
let formatter = NSNumberFormatter()
formatter.numberStyle = .PercentStyle
formatter.maximumFractionDigits = 1
formatter.multiplier = 1.0
pieChartData.dataSet?.valueFormatter = 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())
在 Swift3
和最新版本的 charts 上,您可以对饼图进行 %
格式化,如下所示:
let formatter = NumberFormatter()
formatter.numberStyle = .percent
formatter.maximumFractionDigits = 1
formatter.multiplier = 1.0
pieChartData.setValueFormatter(DefaultValueFormatter(formatter:formatter))
let formatter = NumberFormatter()
formatter.numberStyle = .percent
formatter.maximumFractionDigits = 1
formatter.multiplier = 1.0
chart.data?.setValueFormatter(formatter as? IValueFormatter)
我正在使用 Charts 框架(由 Daniel gindi 设计)。它工作正常但是
如何在饼图上显示 %(符号)?
我也在尝试使用 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)
}
输出:=>
在饼图上显示 % 符号。
只需使用下面的代码。
let formatter = NSNumberFormatter()
formatter.numberStyle = .PercentStyle
formatter.maximumFractionDigits = 1
formatter.multiplier = 1.0
pieChartData.dataSet?.valueFormatter = 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())
在 Swift3
和最新版本的 charts 上,您可以对饼图进行 %
格式化,如下所示:
let formatter = NumberFormatter()
formatter.numberStyle = .percent
formatter.maximumFractionDigits = 1
formatter.multiplier = 1.0
pieChartData.setValueFormatter(DefaultValueFormatter(formatter:formatter))
let formatter = NumberFormatter()
formatter.numberStyle = .percent
formatter.maximumFractionDigits = 1
formatter.multiplier = 1.0
chart.data?.setValueFormatter(formatter as? IValueFormatter)