如何在ios图表的LineChart上为点设置不同的颜色?

时间:2016-05-23 22:19:57

标签: ios swift ios-charts

我需要将一个范围内的值绘制为黄色,将其他范围绘制为红色。如何实现呢?

1 个答案:

答案 0 :(得分:6)

有一种更简单的方法可以不同地为圆圈着色。这是一个用随机颜色为每个圆圈着色的例子。但你也可以考虑像颜色这样的条件着色,每个圆圈用红色表示y值大于10或任何其他条件。

var yValues: [ChartDataEntry] = []           // y-values
var xValues: [String?] = []                  // x-values
var set: LineChartDataSet                    // value set (x- and y-values)
var circleColors: [NSUIColor] = []           // arrays with circle color definitions

for i in 0..< xValues.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)
    circleColors.append(color)
}

// set colors and enable value drawing    
set.colors = circleColors
set.drawValuesEnabled = true
set.valueFont = UIFont.systemFontOfSize(12.0)