I am using PieChartView to draw following Pie chart in my app. My requirement is to show only %(percentage) not the key name.
This is my code to draw pie chart in view
func drawPieChart(pieChart: PieChartView, data: [String: Double]) -> Void {
//Setup constraints first
var dataEntries = [PieChartDataEntry]()
var total = 0.0
for (key, val) in data {
total += val
}
for (key, val) in data {
let percent = (val / total)
let entry = PieChartDataEntry(value: percent, label: key)
dataEntries.append(entry)
}
let chartDataSet = PieChartDataSet(values: dataEntries, label: "")
chartDataSet.colors = ChartColorTemplates.bookingPieChart()
chartDataSet.sliceSpace = 2
chartDataSet.selectionShift = 5
let chartData = PieChartData(dataSet: chartDataSet)
let formatter = NumberFormatter()
formatter.numberStyle = .percent
formatter.maximumFractionDigits = 0
chartData.setValueFormatter(DefaultValueFormatter(formatter: formatter))
pieChart.data = chartData
}
Hi I think if you don't want to show the key name you need to send an empty string in the label
Change
let entry = PieChartDataEntry(value: percent, label: key)
to
let entry = PieChartDataEntry(value: percent, label: "")