我有一个饼图,我正试图从图表中删除值标签,因为它们互相溢出,但似乎没有任何代码可以将其删除。
这是我用来尝试删除它的代码:
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
}
这是删除它的唯一方法还是我做错了什么?
答案 0 :(得分:4)
如果您需要禁用数据集条目的绘图值,请使用此
pieChartDataSet.drawValuesEnabled = false
如果您需要在某些Axis上禁用绘图值,请使用:
chartIMG.rightAxis.drawLabelsEnabled = false
chartIMG.leftAxis.drawLabelsEnabled = false
chartIMG.xAxis.drawLabelsEnabled = false
chartIMG.rightAxis.drawLabelsEnabled = false
答案 1 :(得分:2)
我知道这是一篇过时的文章,但我一直搜寻以找出此问题。我认为在发布的最新版本中,他们禁用了对drawLabelsEnabled的访问,这使得关闭饼图上的值标签几乎变得不可能。
我强迫它不绘制标签的方式是更改Charts.xcodeproj>源>图表>渲染器> PieChartRenderer.swift中的第335行:
let drawValues = dataSet.isDrawValuesEnabled
到
let drawValues = false
答案 2 :(得分:0)
Swift 5.0+ 图表 v3.5+
pieChartView.data?.setDrawValues(false)