2017-03-01 5 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

코드의 값이 같다 있음 튜토리얼은 웹에 나와 있습니다. 그러나 그들은 구식입니다. Charts 프레임 워크의 최신 릴리스에는 획기적인 변화가 도입되었습니다 (다소 직관적이지는 않습니다).

릴리스 노트 : https://github.com/danielgindi/Charts/releases/tag/v3.0.0

+0

어디에서 라벨을 추가 하시겠습니까? –

+0

원형 차트 섹션 위에 기본 숫자 라벨처럼 표시됩니다. – AlvinfromDiaspar

답변

2

을 그래서 기본적으로 당신이 데이터 포인트의 목록 관련된 값의 해당 배열과 값 (당신의 pieChart에 섹션의 문자열 배열()를 통해 다음 루프를 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