###実現したいこと
ブログ記事を参考に、グラフ描画ライブラリ「ios-charts」を用いたデモファイル「iOSChartsDemo」をもとに、レーダーチャートを書きたいです。
###エラー内容
Argument labels '(value:, xIndex:)' do not match any available overloads Incorrect argument label in call (have 'yVals:label:'; expected 'values:label:')
###該当コード
該当のコードを以下に記します。
swift
1import UIKit 2import Charts 3 4class BarChartViewController: UIViewController { 5 @IBOutlet weak var barChartView: BarChartView! 6 7 var months: [String]! 8 func setChart(dataPoints: [String], values: [Double]) { 9 barChartView.noDataText = "You need to provide data for the chart." 10 11 var dataEntries: [BarChartDataEntry] = [] 12 13 for i in 0..<dataPoints.count { 14 let dataEntry = BarChartDataEntry(value: values[i], xIndex: i) 15 dataEntries.append(dataEntry) 16 } 17 18 let chartDataSet = BarChartDataSet(yVals: dataEntries, label: "Units Sold") 19 let chartData = BarChartData(xVals: months, dataSet: chartDataSet) 20 barChartView.data = chartData 21 22 } 23 24 override func viewDidLoad() { 25 super.viewDidLoad() 26 // Do any additional setup after loading the view, typically from a nib. 27 barChartView.noDataText = "You need to provide data for the chart." 28 29 barChartView.noDataTextDescription = "GIVE REASON" 30 months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] 31 let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0] 32 33 setChart(months, values: unitsSold) 34 } 35 36 37}
###スクリーンショット
おそらく引数の記述に問題があるのだと思いますが、ググれどググれどわからず、どうかよろしくお願いします。
BarChartDataEntry, BarChartDataSetおよびBarChartDataの宣言元を下記に示します。
Swift
1public class BarChartDataEntry: ChartDataEntry 2{ 3 public required init() 4 { 5 super.init() 6 } 7 8 /// Constructor for stacked bar entries. 9 public init(x: Double, yValues: [Double]) 10 { 11 super.init(x: x, y: BarChartDataEntry.calcSum(yValues)) 12 self._yVals = yValues 13 calcRanges() 14 calcPosNegSum() 15 } 16 17 /// Constructor for normal bars (not stacked). 18 public override init(x: Double, y: Double) 19 { 20 super.init(x: x, y: y) 21 } 22 23 /// Constructor for stacked bar entries. 24 public init(x: Double, yValues: [Double], label: String) 25 { 26 super.init(x: x, y: BarChartDataEntry.calcSum(yValues), data: label) 27 self._yVals = yValues 28 calcRanges() 29 calcPosNegSum() 30 } 31 32 /// Constructor for normal bars (not stacked). 33 public override init(x: Double, y: Double, data: AnyObject?) 34 { 35 super.init(x: x, y: y, data: data) 36 }
Swift
1public class BarChartDataSet: BarLineScatterCandleBubbleChartDataSet, IBarChartDataSet 2{ 3 public required init() 4 { 5 super.init() 6 initialize() 7 } 8 9 public override init(values: [ChartDataEntry]?, label: String?) 10 { 11 super.init(values: values, label: label) 12 initialize() 13 } 14
Swift
1public class BarChartData: BarLineScatterCandleBubbleChartData 2{ 3 public override init() 4 { 5 super.init() 6 } 7 8 public override init(dataSets: [IChartDataSet]?) 9 { 10 super.init(dataSets: dataSets) 11 } 12
###補足情報(言語/FW/ツール等のバージョンなど)
######バージョン情報
Alamofire 3.4
Charts 2.2.5
XCode 7
iOS 9.3.5
######利用しているライブラリ
ios-charts
Alamofire
SwiftyJSON
回答3件
あなたの回答
tips
プレビュー