2016-12-23 5 views
1

Charts 버전 3.0.1을 사용하고 있습니다. 저는 현재 Rails 프로젝트를 변환하여 Swift를 가르치고 있습니다. 나는 목표 C에 대한 지식이 없으니 나와 함께 견뎌주십시오. 나는 지금까지 ok를했다. 아래올바른 데이터가 표시되지 않습니다.

내 코드/인 PieChart에서 days 배열 누락 임과 같이 올바르게 포맷되지 않을 수 있습니다

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