2015-10-17 42 views
4

我想實現從IOS-圖表餅圖庫的一切是偉大的工作,但是我缺少從圖中的傳說 -IOS-圖表餅圖的標籤(傳說)丟失

enter image description here

這裏是我的代碼 -

// This is the delegate method for creating data for chart 
     func offDaysDidLoaded(controller: DataModel,chartArray:[PFObject]) { 


       let formatter = NSDateFormatter() 
       formatter.dateFormat = "MMM" 
       dataDict = [:] 
       for od in chartArray { 
        let date = od["Date"] as! NSDate 
        let month = formatter.stringFromDate(date) 
        if self.dateDict.indexForKey(month) != nil { 
         self.dateDict[month]! += 1.0 
        }else{ 
         self.dateDict.updateValue(1.0, forKey: month) 
        } 
       } 
       let dataPointArray = Array(dateDict.keys) 
       let valuesArray = Array(dateDict.values) 
       pieChartView.data = nil 
       pieChartView.backgroundColor = UIColor.grayColor() 
       setChart(dataPointArray, values: valuesArray) 
      } 


func setChart(dataPoints: [String], values: [Double]) { 
    var dataEntries: [ChartDataEntry] = [] 
    for i in 0..<dataPoints.count { 

     let dataEntry = ChartDataEntry(value: values[i], xIndex: i) 
     dataEntries.append(dataEntry) 
    } 

    let pieChartDataSet = PieChartDataSet(yVals: dataEntries, label: "Months") 

    let pieChartData = PieChartData(xVals: dataPoints, dataSet: pieChartDataSet) 
    pieChartData.setDrawValues(false) 
    pieChartView.data = pieChartData 
    pieChartView.animate(xAxisDuration: NSTimeInterval(5)) 

    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 

} 

我在here見過類似的問題,並建立和運行,在問題中使用也沒有顯示在圖表下方的任何圖例餅圖。任何幫助或指針將非常感激。

感謝

+0

你有什麼改變嗎?似乎傳說正在顯現,但被某種東西掩蓋了。您可以先調試圖例。順便說一句,嘗試用ChartsDemo和你的數據重現這一點。如果ChartsDemo正常工作,那麼你def改變了一些東西 – Wingzero

+0

我沒有改變任何東西,傳說並沒有被某些東西掩蓋,因爲當我打印「pieChartView.legend.labels」時,我得到空數組[],這意味着傳說數據是錯過了我,因爲來自同一個數據源或數據集的其他數據可用,即月份和日期。爲什麼只有傳奇標籤失蹤?我提供了我用於提供實際問題數據的方法。 –

+0

嘗試使用ChartsDemo重現 – Wingzero

回答

5

最後這個問題解決了,它不是bug。請找到詳細的解決方案here

2

我只是做了嘗試ChatsDemo與

legend.position = ChartLegendPositionBelowChartLeft;

工作正常。所以無論你的數據問題,還是你修改了一些東西。你不顯示你如何設置x值。提供更多細節或自行調試。應該很容易

+0

謝謝我會試試更新。 –