我已经在Swift中使用Charts库创建了一个饼图。
当我尝试通过CGColor来制作图表的颜色时,它不接受它。
这是我当前代码的样子:
let colorLV1 = [color.heatWheelOrange, color.heatWheelOrange, color.heatWheelSkyBlue]
let chartDataSetLV1 = setChartDataset(dataEntries: dataEntriesLV1, colorCode: colorLV1, valueTextColor: UIColor.black, fontFormat: fontMedium)
func setChartDataset(dataEntries : [PieChartDataEntry], colorCode : [UIColor], valueTextColor : UIColor, fontFormat : NSUIFont) -> PieChartDataSet {
let chartDataSet = PieChartDataSet(values: dataEntries, label: "")
chartDataSet.colors = colorCode
chartDataSet.sliceSpace = 1
chartDataSet.selectionShift = 0
chartDataSet.valueTextColor = valueTextColor
chartDataSet.valueFont = fontFormat
return chartDataSet;
}
要显示渐变,我将colorCode : [UIColor]
更改为CGColor
。但是它会引发错误。
是否可以使用图表库在Swift中将颜色更改为渐变色?
答案 0 :(得分:0)
如果您还没有https://github.com/viccalexander/Chameleon
,我建议您研究ChameleonFramework我已经将它与Charts结合使用,以用于条形图上的渐变,但是我认为它可以与饼图类似地工作。使用ChameleonFramework,我的代码看起来像这样;
let color1 = UIColor(hex: 0x79D3DB)
let color2 = UIColor(hex: 0x5773D3)
let gradientColor = UIColor(gradientStyle: UIGradientStyle.topToBottom, withFrame: barChartView.frame, andColors: [color1, color2])
var gradientColors = Array(repeating: gradientColor, count: 7)
chartDataSet.colors = gradientColors as! [NSUIColor]
那应该避免您不得不处理UIColor> CGColor转换问题。希望有帮助!