2016-12-23 16 views
1

Im Chartsバージョン3.0.1を使用しています。現在私はRailsプロジェクトを変換して自分自身をSwiftに教えています。私は客観的なCの知識がないので、私に同行してください。私はこれまでに大丈夫でした。以下iosで正しいデータが表示されない

私のコードは/ PieChartdays配列を欠落しているイムとして正しくフォーマットされないことがあります。

enter image description here

数字が正しいと思えません。コード:

@IBOutlet weak var chartView: PieChartView! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let days = ["Mo", "Tu", "Wed", "Thur", "Fri", "Sat", "Sun"] 
    let gross = [11.00, 90.95, 250.00, 40.90, 60.88, 99.99, 25.00] 

    setChart(dataPoints: days, values: gross) 
} 

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) 

    } 
    let pieChartDataSet = PieChartDataSet(values: dataEntries, label: "Gross Income") 
    pieChartDataSet.sliceSpace = 2.0 
    let pieChartData = PieChartData(dataSets: [pieChartDataSet]) // somewhere here confuses me. 

    var colors: [UIColor] = [] 

    for _ 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) 
    } 

    pieChartDataSet.colors = colors 

    chartView.data = pieChartData 
} 

私は何かを逃しましたか?あなたの第二の目は高く評価されるでしょう。

答えて

2

x & yの値を変更しました。したがって、インデックスは円グラフの値になります。また、PieChartDataEntryを使用してください。 (私のボックスにコードを作業)

override func viewDidLoad() { 
    super.viewDidLoad() 
    let days = ["Mo", "Tu", "Wed", "Thur", "Fri", "Sat", "Sun"] 
    let gross = [11.00, 90.95, 250.00, 40.90, 60.88, 99.99, 25.00] 

    setChart(days: days, gross: gross) 
    } 

    func setChart(days: [String], gross: [Double]) { 
    var dataEntries: [ChartDataEntry] = [] 

    for i in 0..<days.count { 
     let dataEntry = PieChartDataEntry(value : gross[i], label : days[i]) 
     dataEntries.append(dataEntry) 
    } 

    let pieChartDataSet = PieChartDataSet(values: dataEntries, label: "Gross Income") 
    pieChartDataSet.sliceSpace = 2.0 
    let pieChartData = PieChartData(dataSets: [pieChartDataSet]) 

    var colors: [UIColor] = [] 

    for _ in 0..<days.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) 
    } 

    pieChartDataSet.colors = colors 
    pieChartView.data = pieChartData 
    } 

これを試してみて、私に知らせてください。

+0

私の問題はここにあります: 'let pieChartDataSet = PieChartDataSet(yVals:dataEntries、label:" Gross Income ")'私は 'セルに'不正な議論ラベル(yVals:ラベル: '、期待値:ラベル:')を持っています。チャート3で何か変わった? – Sylar

関連する問題