2017-03-01 4 views
1

私はpiechartを描画しようとしていて、ラベルを表示したい場合は、 "Red"と "Blue"と言うことができます。 https://github.com/danielgindi/Chartsiosのチャートライブラリを使用してPieChartで文字列ラベルを表示する方法は?

はいくつかの素晴らしいあります

ここ
var colorEntries: [ChartDataEntry] = [] 
colorEntries.append(ChartDataEntry(x: 0, y: 100)) // 100 Red entires 
colorEntries.append(ChartDataEntry(x: 1, y: 200)) // 200 Blue entries 

// pie chart 
let pieChartDataSet = PieChartDataSet(values: colorEntries.append, label: "Color Chart") 
let pieChartData = PieChartData(dataSet: pieChartDataSet) 
self.pieChart.data = pieChartData 

// I'm not very sure how these colors are mapped to the dataset. 
let colors: [UIColor] = [UIColor(red: CGFloat(1), green: 0, blue: 0, alpha: 1), 
         UIColor(red: 0, green: 0, blue: CGFloat(1), alpha: 1)] 
pieChartDataSet.colors = colors 

は、チャートのフレームワークです:

レッドは100 ブルーの値が200

コードの値は次のようである持っている持っていますWeb上のチュートリアル。しかし、彼らは時代遅れです。 Chartsフレームワークの最新リリースでは、(直感的ではないように)壊れた変更が導入されました。

リリースノート:https://github.com/danielgindi/Charts/releases/tag/v3.0.0

+0

ラベルはどこに追加しますか? –

+0

デフォルトの番号ラベルと同じように、円グラフのセクションをオーバーライドします。 – AlvinfromDiaspar

答えて

2

をだから、基本的にはデータポイントリストに関連する値の対応する配列であり、値(自分の円グラフのセクションのための文字列の配列)(を通じて、あなたのループをChartDataEntryの配列を作成しますセクションの文字列で)。

var dataEntries: [ChartDataEntry] = [] 
for i in 0..<dataPoints.count { 
    let entry = PieChartDataEntry(value: Double(values[i]), label: dataPoints[i], data: dataEntries[i] as AnyObject) 
    dataEntries.append(entry) 
} 

let pieChartDataSet = PieChartDataSet(values: dataEntries, label: nil) 
let pieChartData = PieChartData(dataSet: pieChartDataSet) 

self.data = pieChartData 
関連する問題