2017-10-05 81 views
0

我目前使用Charts框架在我的應用程序中使用線圖。我已經使用了下面的代碼,但是發生了一個錯誤。這裏是代碼 -錯誤 - 無法使用類型爲'(xVals:[String],dataSet:LineChartDataSet)的參數列表爲類型'LineChartData'調用初始值設定項'

`func setChart(dataPoints: [String], values: [Double]) { 

    var dataEntries: [ChartDataEntry] = [] 

    for i in 0..<dataPoints.count { 
     let dataEntry = ChartDataEntry(x: values[i], y: Double(i)) 
     dataEntries.append(dataEntry) 


    var colors: [UIColor] = [] 

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



     let lineChartDataSet = LineChartDataSet(values: dataEntries, label: "Units Sold") 

     let lineChartDataa = LineChartData(xVals: dataPoints, dataSet: lineChartDataSet) 

    Graph.data = lineChartDataa 

} 
` 

所發生的錯誤是如下─

不能調用類型「LineChartData」初始化與類型(xVals的」參數列表:[字符串],數據集: LineChartDataSet)'

任何想法我可以解決這個問題。

+0

有什麼函數簽名? (cmd +點擊) – CZ54

回答

0

LineChartData已將此聲明爲init。

public override init(dataSets: [IChartDataSet]?) 

其超,ChartData已宣佈這些inits:

@objc public init(dataSets: [IChartDataSet]?) 


@objc public convenience init(dataSet: IChartDataSet?) 

它看起來像您嘗試PARAMS初始化,不可用,因此編譯器錯誤。

0

你必須使用這樣的:

這是設置LineChartData

let lineChartDataSet = LineChartDataSet(values: dataEntries, label: "Units Sold")  
let lineChartDataa = LineChartData(dataSet: lineChartDataSet) 

對於設置X軸標籤:

Graph.xAxis.labelPosition = XAxis.LabelPosition.bottom 
Graph.xAxis.valueFormatter = IndexAxisValueFormatter(values: dataPoints) 
相關問題