我可以发送哪种类型的功能?

时间:2016-10-01 23:49:18

标签: ios charts swift3 linechart

我正在使用danielgindi/Charts swift框架。我想像这样使用带有目标线的线图;

let ll = ChartLimitLine(limit: 6.5, label: "Average")
lineChartView.rightAxis.addLimitLine(ll)

它绘制目标,但我想改变目标上方和下方的颜色。我认为我应该使用这个功能;

open func setCircleColors(_ colors: NSUIColor...){
        circleColors.removeAll(keepingCapacity: false)
        circleColors.append(contentsOf: colors)
}

我该如何使用它?什么意味着NSUIColor ... 它是哪种类型的?我尝试发送一个NSUIColor数组,但这是一个错误? 我怎么能这样做?

我所有的线图代码;

let lineChartDataSet = LineChartDataSet(values: lineDataEntries, label: "price")
        var datasets=[IChartDataSet]()
        datasets.append(lineChartDataSet)
        let linechartdata=LineChartData(dataSets:datasets)
        lineChartView.animate(xAxisDuration: 2.0, yAxisDuration: 2.0, easingOption:.easeInElastic)
        lineChartDataSet.colors = ChartColorTemplates.colorful()
        var colorArray: [NSUIColor] = []

        for data in lineChartDataSet.values{
            if data.y > 6.5{
                 colorArray.append(NSUIColor.red)
                //lineChartDataSet.setCircleColor(NSUIColor.red)
            }else{
                colorArray.append(NSUIColor.green)
                //lineChartDataSet.setCircleColor(NSUIColor.green)
            }
        }
        lineChartDataSet.setCircleColors(colorArray)
        let ll = ChartLimitLine(limit: 6.5, label: "Average")
        lineChartView.rightAxis.addLimitLine(ll)
        lineChartView.data=linechartdata

2 个答案:

答案 0 :(得分:1)

显示为SomeType...的参数表示它是一个可变参数。这意味着您可以传递给定类型的0个或多个参数。但是它们需要以逗号分隔的值传递,而不是作为数组传递。

lineChartDataSet.setCircleColors(NSUIColor.red, NSUIColor.green, NSUIColor.whatever)

答案 1 :(得分:1)

无需添加或尝试可变参数。还有一个变量[.S],您可以在其中设置lineChartDataSet.circleColors任何号码。颜色可以在这里设置。我试过[NSUIColor],但是当图表增长时它会更复杂。我正在使用swift 3版本。

lineChartDataSet.setCircleColors

这个逻辑对我很有用。