2017-03-01 23 views
1

我想绘制一个饼图并想显示标签,可以说是“红色”和“蓝色”。如何使用iOS图表库在PieChart中显示字符串标签?

红色的有100 蓝的值具有200

码的值是这样的:

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 

以下是图表框架:https://github.com/danielgindi/Charts

有一些不错的那里的网络教程。但他们已经过时了。 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 
相关问题