Как удалить статическую строку «DataSet» из Legends of Pie Chart для danielgindi / Charts ios? - PullRequest
0 голосов
/ 29 мая 2019

Я использую danielgindi / Charts для iOS / Swift. На круговой диаграмме показана дополнительная запись легенды с меткой «DataSet», как показано на этом изображении:

enter image description here

При трассировке я обнаружил две записи в массиве LegendEntry, найденные в легенде PieChartView, то есть PieChartView.legend.entries, где у меня только один объект в моем массиве.

Вот код:

let dataSet = PieChartDataSet()
    dataSet.drawIconsEnabled = false
    dataSet.setColor(AppColors.selectedMenuItem)
    dataSet.sliceSpace = 3
    dataSet.iconsOffset = CGPoint(x: 0, y: 40)
    dataSet.selectionShift = 5

    var totalRevenuePer:Double = 0.0

    _ = arrRevenue.map({ (objRevenue) -> Void in
        if let percentage = Double(objRevenue.per ?? "0.0"), percentage != 0.0{
            dataSet.append(PieChartDataEntry(value: percentage, label: "\((objRevenue.rev_center_name ?? "") + " " + objRevenue.revenue.currencyString())"))
            totalRevenuePer += percentage
        }
    })

    var colors = AppColors.TenderColors
    if totalRevenuePer < 100{ colors.append(.clear) }
    dataSet.colors = colors

    let data = PieChartData(dataSet: dataSet)
    data.setValueFormatter(PercentageFormatter())
    data.setValueFont(NSUIFont.systemFont(ofSize: 11))
    data.setValueTextColor(.white)

    pieChart.data = data
    pieChart.highlightValue(nil)
    let legend = pieChart.legend
    legend.textColor = .white
    legend.entries.last?.label = ""

    pieChart.animate(yAxisDuration: 1.4, easingOption: .easeInOutQuad)

    // Refresh chart with new data
    pieChart.notifyDataSetChanged()

Спасибо за любую помощь, спасибо.

1 Ответ

2 голосов
/ 29 мая 2019

Это свойство PieChartDataSet

Значением по умолчанию, если вы не установили свой собственный, является «DataSet»

let dataSet = PieChartDataSet()

// provide your own
dataSet.label = "My Label"

// or, no label
dataSet.label = ""
...