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

问题描述 投票:2回答:2

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

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

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
}

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

ios swift ios-charts
2个回答
4
投票

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

pieChartDataSet.drawValuesEnabled = false

如果需要在某些Axis上禁用绘图值,请使用以下命令:

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

2
投票

我知道这是一个很老的帖子,但我一直在搜索这个问题。我认为在发布的最新版本中,他们禁止访问drawLabelsEnabled,这使得关闭饼图上的值标签几乎不可能。

我强制它不绘制标签的方法是更改​​Charts.xcodeproj> Source> Charts> Renderers> PieChartRenderer.swift中的第335行:

 let drawValues = dataSet.isDrawValuesEnabled

 let drawValues = false
© www.soinside.com 2019 - 2024. All rights reserved.