为图表生成颜色渐变
Generate Gradient of Colors for chart
我正在制作一个小饼图,我希望饼图切片越小,图表中的每个条目越浅。我必须生成一个 UIColor
数组来为图表着色。
这是我现在拥有的:
for i in 0..<entries.count {
let percent = 1.0 - (CGFloat(i - 1)/CGFloat(entries.count))
dataSet.colors.append(UIColor.systemPurple.withAlphaComponent(percent))
}
它生成了这个:
我希望图表中的颜色更像这样:(抱歉,我只是快速在 google 张中做了一个例子)
有什么想法吗?
试试这个解决方案。
var initialAlpha = 1.0
for i in 0..<entries.count {
dataSet.colors.append(UIColor.systemPurple.withAlphaComponent(initialAlpha))
initialAlpha -= 0.1
}
您也可以根据您的要求将差值 0.1 更改为任何分数值,比如 0.15 或 0.2 等。
您可能想要使用不同的颜色模型(如 HSB),并在颜色之间改变其中的一个或多个设置。在您的情况下,看起来您使用的是亮紫色并且想要将饱和度从 100% 更改为 0%。
然后您可以使用 UIColor 初始值设定项创建颜色 init(hue:saturation:brightness:alpha:)
稍加修改,色调为 300、亮度为 100%、饱和度值为 100%、80%、60%、40%、20% 和 0% 的颜色看起来不错。
我正在制作一个小饼图,我希望饼图切片越小,图表中的每个条目越浅。我必须生成一个 UIColor
数组来为图表着色。
这是我现在拥有的:
for i in 0..<entries.count {
let percent = 1.0 - (CGFloat(i - 1)/CGFloat(entries.count))
dataSet.colors.append(UIColor.systemPurple.withAlphaComponent(percent))
}
它生成了这个:
我希望图表中的颜色更像这样:(抱歉,我只是快速在 google 张中做了一个例子)
有什么想法吗?
试试这个解决方案。
var initialAlpha = 1.0
for i in 0..<entries.count {
dataSet.colors.append(UIColor.systemPurple.withAlphaComponent(initialAlpha))
initialAlpha -= 0.1
}
您也可以根据您的要求将差值 0.1 更改为任何分数值,比如 0.15 或 0.2 等。
您可能想要使用不同的颜色模型(如 HSB),并在颜色之间改变其中的一个或多个设置。在您的情况下,看起来您使用的是亮紫色并且想要将饱和度从 100% 更改为 0%。
然后您可以使用 UIColor 初始值设定项创建颜色 init(hue:saturation:brightness:alpha:)
稍加修改,色调为 300、亮度为 100%、饱和度值为 100%、80%、60%、40%、20% 和 0% 的颜色看起来不错。