2017-10-05 8 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 

} 
` 

発生しているエラーがbelow-ある

(xVals」タイプの引数リストに型「LineChartData」の初期化子を呼び出すことはできません:[文字列]データセット: LineChartDataSet「)

私はこの問題を解決する可能性がどのように任意のアイデア。

+0

関数のシグネチャは何

これはLineChartDataを設定するのですか? (cmd +クリック) – CZ54

答えて

0

LineChartDataがinitと宣言しました。それはあなたがしようとしているのparamsとINITのように見え、したがって、コンパイラエラー、利用できない

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


@objc public convenience init(dataSet: IChartDataSet?) 

public override init(dataSets: [IChartDataSet]?) 

そのスーパークラス、ChartDataは、これらのINITを宣言しました。

0

あなたはこのように使用する必要があります:X軸ラベルを設定し

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

Graph.xAxis.labelPosition = XAxis.LabelPosition.bottom 
Graph.xAxis.valueFormatter = IndexAxisValueFormatter(values: dataPoints) 
関連する問題