swift – 如何在ios-chart中为数据添加“%”
发布时间:2020-12-14 05:01:54 所属栏目:百科 来源:网络整理
导读:图表,这是我的代码: private func setChart(pieChartView: PieChartView,values: [Double]) { var dataEntries: [PieChartDataEntry] = [] let dataPoints = ["Mar","Apr","May"] for i in 0..dataPoints.count { let dataEntry = PieChartDataEntry(value:
图表,这是我的代码:
private func setChart(pieChartView: PieChartView,values: [Double]) { var dataEntries: [PieChartDataEntry] = [] let dataPoints = ["Mar","Apr","May"] for i in 0..<dataPoints.count { let dataEntry = PieChartDataEntry(value: values[i],label: dataPoints[i]) dataEntries.append(dataEntry) } let pieChartDataSet = PieChartDataSet(values: dataEntries,label: "") pieChartDataSet.colors = [UIColor(red: 47/255,green: 164/255,blue: 59/255,alpha: 1.0),UIColor(red: 17/255,green: 128/255,blue: 127/255,UIColor.orange] let pieChartData = PieChartData(dataSet: pieChartDataSet) pieChartView.data = pieChartData pieChartView.centerText = "Amount Spent" pieChartView.chartDescription?.text = "" pieChartView.usePercentValuesEnabled = true pieChartView.legend.horizontalAlignment = .center } 如何在PieChart数据中添加“%”? – – – – – – – -解 – – – – – – – – 我为有相同问题的每个人发布此解决方案. private func setChart(pieChartView: PieChartView,values: [Double]) { var dataEntries = [ChartDataEntry]() let dataPoints = ["Mar",label: "") let green = UIColor(red: 47/255,alpha: 1.0) let blue = UIColor(red: 17/255,alpha: 1.0) pieChartDataSet.colors = [green,blue,.orange] let pieChartData = PieChartData(dataSet: pieChartDataSet) let formatter = NumberFormatter() formatter.numberStyle = .percent formatter.maximumFractionDigits = 2 formatter.multiplier = 1.0 formatter.percentSymbol = "%" pieChartData.setValueFormatter(DefaultValueFormatter(formatter: formatter)) pieChartView.data = pieChartData pieChartView.centerText = "Amount Spent" pieChartView.chartDescription?.text = "" pieChartView.usePercentValuesEnabled = true pieChartView.legend.horizontalAlignment = .center pieChartView.drawEntryLabelsEnabled = false pieChartView.holeRadiusPercent = 0.55 pieChartView.highlightPerTapEnabled = false pieChartView.animate(yAxisDuration: 2.0,easingOption: .easeInBack) } 解决方法请参考下面的代码,我添加了%. import UIKit class ViewController: UIViewController { @IBOutlet weak var pieChartView: PieChartView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. let months = ["Jan","Feb","Mar","May","Jun"] let unitsSold = [20.0,4.0,6.0,3.0,12.0,16.0] setChart(months,values: unitsSold) } func setChart(dataPoints: [String],values: [Double]) { var dataEntries: [ChartDataEntry] = [] for i in 0..<dataPoints.count { let dataEntry = ChartDataEntry(value: values[i],xIndex: i) dataEntries.append(dataEntry) } let pieChartDataSet = PieChartDataSet(yVals: dataEntries,label: "Units Sold") let formatter = NSNumberFormatter() formatter.numberStyle = .PercentStyle formatter.maximumFractionDigits = 1 formatter.multiplier = 1.0 let pieChartData = PieChartData(xVals: dataPoints,dataSet: pieChartDataSet) pieChartData.dataSet?.valueFormatter = formatter pieChartView.data = pieChartData pieChartView.holeColor = UIColor.clearColor() // pieChartView.holeRadiusPercent = 0.95 pieChartView.centerText = "HellonThis is Pie chart" pieChartView.usePercentValuesEnabled = true var colors: [UIColor] = [] for i in 0..<dataPoints.count { let red = Double(arc4random_uniform(255)) let green = Double(arc4random_uniform(255)) let blue = Double(arc4random_uniform(255)) let color = UIColor(red: CGFloat(red/255),green: CGFloat(green/255),blue: CGFloat(blue/255),alpha: 1) colors.append(color) } pieChartDataSet.colors = colors } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } 如果我可以帮助你,请告诉我. 有一个快乐的编码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |