条形图中条形的不同颜色取决于值
Different colors for bars in BarChart depend on value
如何根据条形图中单个条形的值更改其颜色?
例如:我的条形图中有五个不同的值(= 五个不同的条)。值小于 30 的所有条形应为红色,所有介于 30 和 70 之间的条形应为橙色,所有大于 70 的条形应为绿色。
他们的 API 还附带了一些预定义的颜色模板,您可以使用这些模板为数据集设置不同的颜色。它们包括:
- ChartColorTemplates.liberty()
- ChartColorTemplates.joyful()
- ChartColorTemplates.pastel()
- ChartColorTemplates.colorful()
- ChartColorTemplates.vordiplom()
您可以这样使用它们:
chartDataSet.colors = ChartColorTemplates.colorful()
在ios-图表中,条形图的颜色设置在一个数组中。例如,如果您的数据集名为 barChartDataset,您可以像这样设置颜色
barChartDataset.colors = [UIColor.red,UIColor.orange,UIColor.green,UIColor.black,UIColor.blue]
条形将按此顺序具有这些颜色,并且会重复。所以如果你有 10 个条,你就会有 2 个红色条等等。
在您的情况下,您只需编写一个函数来 return 正确的颜色值,并将其附加到数组。参考下面的代码。
func setColor(value: Double) -> UIColor{
if(value < 30){
return UIColor.red
}
else if(value <= 70 && value >= 30){
return UIColor.orange
}
else if(value > 70){
return UIColor.green
}
else { //In case anything goes wrong
return UIColor.black
}
}
然后无论你在哪里设置图表使用
barChartDataset.colors = [setColor(barOneValue),setColor(barTwoValue),setColor(barThreeValue),setColor(barFourValue),setColor(barFiveValue)]
希望对您有所帮助!
在 danielgindi 图表中,条形图的条形颜色可以从 "ChartColorTemplate.swift" 文件中的以下代码更改 -
@objc open class func material () -> [NSUIColor]
{
return [
NSUIColor(red: 46/255.0, green: 204/255.0, blue: 113/255.0, alpha: 1.0),
NSUIColor(red: 241/255.0, green: 196/255.0, blue: 15/255.0, alpha: 1.0),
NSUIColor(red: 231/255.0, green: 76/255.0, blue: 60/255.0, alpha: 1.0),
NSUIColor(red: 52/255.0, green: 152/255.0, blue: 219/255.0, alpha: 1.0)
]
}
如何根据条形图中单个条形的值更改其颜色? 例如:我的条形图中有五个不同的值(= 五个不同的条)。值小于 30 的所有条形应为红色,所有介于 30 和 70 之间的条形应为橙色,所有大于 70 的条形应为绿色。
他们的 API 还附带了一些预定义的颜色模板,您可以使用这些模板为数据集设置不同的颜色。它们包括:
- ChartColorTemplates.liberty()
- ChartColorTemplates.joyful()
- ChartColorTemplates.pastel()
- ChartColorTemplates.colorful()
- ChartColorTemplates.vordiplom()
您可以这样使用它们:
chartDataSet.colors = ChartColorTemplates.colorful()
在ios-图表中,条形图的颜色设置在一个数组中。例如,如果您的数据集名为 barChartDataset,您可以像这样设置颜色
barChartDataset.colors = [UIColor.red,UIColor.orange,UIColor.green,UIColor.black,UIColor.blue]
条形将按此顺序具有这些颜色,并且会重复。所以如果你有 10 个条,你就会有 2 个红色条等等。
在您的情况下,您只需编写一个函数来 return 正确的颜色值,并将其附加到数组。参考下面的代码。
func setColor(value: Double) -> UIColor{
if(value < 30){
return UIColor.red
}
else if(value <= 70 && value >= 30){
return UIColor.orange
}
else if(value > 70){
return UIColor.green
}
else { //In case anything goes wrong
return UIColor.black
}
}
然后无论你在哪里设置图表使用
barChartDataset.colors = [setColor(barOneValue),setColor(barTwoValue),setColor(barThreeValue),setColor(barFourValue),setColor(barFiveValue)]
希望对您有所帮助!
在 danielgindi 图表中,条形图的条形颜色可以从 "ChartColorTemplate.swift" 文件中的以下代码更改 -
@objc open class func material () -> [NSUIColor]
{
return [
NSUIColor(red: 46/255.0, green: 204/255.0, blue: 113/255.0, alpha: 1.0),
NSUIColor(red: 241/255.0, green: 196/255.0, blue: 15/255.0, alpha: 1.0),
NSUIColor(red: 231/255.0, green: 76/255.0, blue: 60/255.0, alpha: 1.0),
NSUIColor(red: 52/255.0, green: 152/255.0, blue: 219/255.0, alpha: 1.0)
]
}