从 iOS 个图表饼图中删除值标签

Remove Value Labels from iOS Charts Pie Chart

我有一个饼图,我试图从图表中删除值标签,因为它们相互溢出,但似乎没有代码可以将其删除。

这是我一直用来尝试删除它的代码:

chartIMG.drawEntryLabelsEnabled = false

但是好像不行。

我创建图表的代码:

func configure(dataPoints: [String], values: [Double]) {

    var dataEntries: [ChartDataEntry] = []

    for i in 0..<dataPoints.count {
        let dataEntry1 = PieChartDataEntry(value: Double(i), label: dataPoints[i], data:  dataPoints[i] as AnyObject)

        dataEntries.append(dataEntry1)
    }
    print(dataEntries[0].data)
    let pieChartDataSet = PieChartDataSet(values: dataEntries, label: "Symptoms")
    let pieChartData = PieChartData(dataSet: pieChartDataSet)
    chartIMG.data = pieChartData
    chartIMG.drawEntryLabelsEnabled = false
    chartIMG.chartDescription?.text = ""
    var colors: [UIColor] = []

    for _ in 0..<dataPoints.count {
        let red = Double(arc4random_uniform(256))
        let green = Double(arc4random_uniform(256))
        let blue = Double(arc4random_uniform(256))

        let color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1)
        colors.append(color)
    }


    pieChartDataSet.colors = colors
}

这是删除它的唯一方法还是我做错了什么?

如果您需要禁用数据集条目的绘图值,请使用此

pieChartDataSet.drawValuesEnabled = false

如果您需要禁用某些轴上的绘图值,请使用此:

chartIMG.rightAxis.drawLabelsEnabled = false
chartIMG.leftAxis.drawLabelsEnabled = false
chartIMG.xAxis.drawLabelsEnabled = false
chartIMG.rightAxis.drawLabelsEnabled = false

我知道这是一个旧的 post 但我一直在寻找以解决这个问题。我认为在发布的最后一个版本中,他们禁用了对 drawLabelsEnabled 的访问,这使得关闭饼图上的值标签几乎是不可能的。

我强制它不绘制标签的方法是更改​​ Charts.xcodeproj > 源 > 图表 > 渲染器 > PieChartRenderer.swift:

中的第 335 行
 let drawValues = dataSet.isDrawValuesEnabled

 let drawValues = false

Swift 5.0+ 图表 v3.5+

pieChartView.data?.setDrawValues(false)