How can I hide 0 values on ios-chart? How can I hide 0 values on ios-chart? swift swift

How can I hide 0 values on ios-chart?


I made it happen on a PieChart in one of my apps just like that :

    ...    let dataSet = PieChartDataSet(yVals: yVals, label: nil)    // This is where the magic happen    // You set a NSNumberFormatter with an empty zero Symbol    let noZeroFormatter = NumberFormatter()    noZeroFormatter.zeroSymbol = ""    dataSet.valueFormatter = ChartDefaultValueFormatter(formatter: noZeroFormatter)    let chartData = PieChartData(xVals: xVals, dataSet: dataSet)    ...


if you want to add % in in your graph as well as hide/remove 0.0 values from graph :

used below lines of code for # Swift 3:-

   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)    }


  let data = PieChartData(dataSet: set)    let pFormatter = NumberFormatter()    pFormatter.numberStyle = .none    pFormatter.zeroSymbol = "";    pFormatter.maximumFractionDigits = 1    pFormatter.multiplier = 1    pFormatter.percentSymbol = ""    data.setValueFormatter(DefaultValueFormatter(formatter: pFormatter))