从 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)
我有一个饼图,我试图从图表中删除值标签,因为它们相互溢出,但似乎没有代码可以将其删除。
这是我一直用来尝试删除它的代码:
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)