How to add "%" to data in ios-chart How to add "%" to data in ios-chart swift swift

How to add "%" to data in ios-chart


if you want to add % in in your graph as well as hide/remove 0.0 values from graph : # Swift 3used below lines of code:-

   func updateChartData()  {        let chart = PieChartView(frame: mViewOutlet.frame)//         let chart = PieChartView(frame: CGRect(x: 122, y: 235 , width: self.mViewOutlet.frame.size.width, height: self.mViewOutlet.frame.size.height))        // 2. generate chart data entries        let track = ["Present","Leave", "EG/LC", "Halfday", "Absent", "Weeklyoff", "Holidays"]        //        let money = [65, 13, 10, 2]        let money = mDaysArray        var entries = [PieChartDataEntry]()        for (index, value) in money.enumerated() {            print("index: \(index) \n value: \(value)")            let entry = PieChartDataEntry()            if value != 0 {                 entry.y = Double(value)            }else{            }            entries.append(entry)//            entry.label = track[index]  // if we want to remove name label        }        // 3. chart setup        let set = PieChartDataSet( values: entries, label: "Pie Chart")        // this is custom extension method. Download the code for more details.        //4. set chart color        let presentColor = UIColor(red: 80.0/255.0, green: 180.0/255.0, blue: 50.0/255.0, alpha: 1.0)        //        let lateColor = UIColor(red: 241.0/255.0, green: 194.0/255.0, blue: 114.0/255.0, alpha: 1.0)        let leaveColor = UIColor(red: 203.0/255.0, green: 68.0/255.0, blue: 242.0/255.0, alpha: 1.0)        let egColor = UIColor(red: 95.0/255.0, green: 180.0/255.0, blue: 239.0/255.0, alpha: 1.0)        let halfdayColor = UIColor(red: 82.0/255.0, green: 64.0/255.0, blue: 152.0/255.0, alpha: 1.0)        let absentColor = UIColor(red: 242.0/255.0, green: 58.0/255.0, blue: 02.0/255.0, alpha: 1.0)        let weekOffColor = UIColor(red: 186.0/255.0, green: 221.0/255.0, blue: 79.0/255.0, alpha: 1.0)        let holidayColor = UIColor(red: 35.0/255.0, green: 215.0/255.0, blue: 179.0/255.0, alpha: 1.0)        let colors: [UIColor] = [presentColor,leaveColor,egColor,halfdayColor,absentColor,weekOffColor,holidayColor]        set.colors = colors        let data = PieChartData(dataSet: set)        let formatter = NumberFormatter()        formatter.numberStyle = .percent        formatter.maximumFractionDigits = 2        formatter.multiplier = 1.0        formatter.percentSymbol = "%"        formatter.zeroSymbol = ""        data.setValueFormatter(DefaultValueFormatter(formatter: formatter))        chart.data = data        chart.noDataText = "No data available"         chart.usePercentValuesEnabled = true        // user interaction        chart.isUserInteractionEnabled = false        let d = Description()//        d.text = "iOSCharts.io"        chart.chartDescription = d//        chart.tintColor = UIColor.black//        chart.centerText = "Pie Chart"        chart.holeRadiusPercent = 0.2        chart.chartDescription?.enabled = false        chart.legend.enabled = false        chart.data?.notifyDataChanged()        chart.notifyDataSetChanged()        chart.setNeedsDisplay()        chart.animate(xAxisDuration: 1.3, yAxisDuration: 1.3)        chart.transparentCircleColor = UIColor.clear//        self.view.addSubview(chart)        self.mPieChartMainView.addSubview(chart)    }


enter image description here

Please refer below code, i have added %.

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", "Apr", "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.    }   }