如何为饼图的每个切片设置特定的颜色?
How to set specific color to each slice of Pie Chart?
我在我的项目中使用图表库来显示饼图。现在它为每个切片显示随机颜色,但我想为每个切片设置特定颜色,我该怎么做?
到目前为止,这是我的代码:
func setChart(dataPoints: [String], values: [Double]) {
var dataEntries: [ChartDataEntry] = []
for i in 0..<values.count {
let dataEntry1 = PieChartDataEntry(value: values[i])
dataEntries.append(dataEntry1)
}
let pieChartDataSet = PieChartDataSet(entries: dataEntries, label: "Units Sold")
let pieChartData = PieChartData(dataSet: pieChartDataSet)
pieChartData.setValueTextColor(NSUIColor.clear)
pieChartView.data = pieChartData
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
pieChartView.transparentCircleColor = UIColor.clear
}
你的切片颜色是随机的,因为你在下面为每个数据点设置了随机颜色
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)
}
如果您需要特定的颜色,则需要为每个 dataPoint
分别设置特定的颜色 colors
。例如,如果您有五个数据点,则需要有一个如下所示的 colors
数组,因此每次第一个 dataPoint
的切片为红色时,第二个 dataPoint
的切片为橙色等等
let colors: [UIColor] = [.red, .orange, .blue, .gray, .purple]
pieChartDataSet.colors = colors
我在我的项目中使用图表库来显示饼图。现在它为每个切片显示随机颜色,但我想为每个切片设置特定颜色,我该怎么做? 到目前为止,这是我的代码:
func setChart(dataPoints: [String], values: [Double]) {
var dataEntries: [ChartDataEntry] = []
for i in 0..<values.count {
let dataEntry1 = PieChartDataEntry(value: values[i])
dataEntries.append(dataEntry1)
}
let pieChartDataSet = PieChartDataSet(entries: dataEntries, label: "Units Sold")
let pieChartData = PieChartData(dataSet: pieChartDataSet)
pieChartData.setValueTextColor(NSUIColor.clear)
pieChartView.data = pieChartData
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
pieChartView.transparentCircleColor = UIColor.clear
}
你的切片颜色是随机的,因为你在下面为每个数据点设置了随机颜色
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)
}
如果您需要特定的颜色,则需要为每个 dataPoint
分别设置特定的颜色 colors
。例如,如果您有五个数据点,则需要有一个如下所示的 colors
数组,因此每次第一个 dataPoint
的切片为红色时,第二个 dataPoint
的切片为橙色等等
let colors: [UIColor] = [.red, .orange, .blue, .gray, .purple]
pieChartDataSet.colors = colors