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数据中添加“%”?
NSNumberFormatter()不再可用
– – – – – – – -解 – – – – – – – –
我为有相同问题的每个人发布此解决方案.
我是从chart-ios githup得到的:
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 UIKitclass 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 = "Hello\nThis 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. }}
如果我可以帮助你,请告诉我.
有一个快乐的编码.
总结以上是内存溢出为你收集整理的swift – 如何在ios-chart中为数据添加“%”全部内容,希望文章能够帮你解决swift – 如何在ios-chart中为数据添加“%”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)