Different colors for bars in BarChart depend on value

In ios-charts, the colors of the bars are set in an array. If your dataset is called barChartDataset, for example, you would set the colors like this

barChartDataset.colors = [UIColor.red,UIColor.orange,UIColor.green,UIColor.black,UIColor.blue]

The bars will have these colors in this order and will repeat. So if you have 10 bars, you would have 2 red bars etc.

In your case, you just have to write a function to return the right color value, and attach it to the array. Reference the code below.

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
    }
}

And then wherever you are setting the chart use

 barChartDataset.colors = [setColor(barOneValue),setColor(barTwoValue),setColor(barThreeValue),setColor(barFourValue),setColor(barFiveValue)]

Hope this helps!