2017-02-21 12 views
0

Chartsライブラリから2つのアイテムを使用して円グラフを設定しようとしています。青1 -iOSチャートにはグラフセグメントが1つだけ表示されます

lazy var pieChart : PieChartView = { 
    let pie = PieChartView() 
    pie.data?.setValueTextColor(UIColor.abClear()) 
    pie.chartDescription?.enabled = false 
    pie.legend.enabled = false 
    return pie 
}() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    let months = ["Jan", "Feb"] 
    let unitsSold = [10.0, 10.0] 

    setChart(dataPoints: months, values: unitsSold) 
} 

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: "") 
    pieChartDataSet.drawValuesEnabled = false 
    let pieChartData = PieChartData(dataSet: pieChartDataSet) 
    pieChart.data = pieChartData 

    pieChartDataSet.colors = [UIColor.red, UIColor.blue] 
} 

問題を以下の場合は私のコードは、チャートが一つだけのアイテムを描くということです。この

enter image description here

私が間違って何をやっているように見えますか?

+0

私の答えをチェックし、あなたの問題を解決したら教えてください:)。 – KrishnaCA

答えて

1

コードを確認しました。問題は、xyの値をChartDataEntryに設定することです。関数内のコードを変更してくださいsetChart(dataPoints: [String], values: [Double])

for i in 0..<dataPoints.count { 
    let dataEntry = ChartDataEntry(x: Double(i), y: values[i])//ChartDataEntry(x: values[i], y: Double(i)) 
    dataEntries.append(dataEntry) 
} 
関連する問題