2016-07-29 37 views
1

我在快速使用CHARTS庫。 https://github.com/danielgindi/Charts多種顏色的條形圖Swift一個在另一個上面

我在創建餅圖和條形圖時得到了好處。 現在我想創建一個「x」值和2「y」值的條形圖。

我用兩個不同的值創建了條形圖。 但我無法爲它們設置顏色 我將顏色數組傳遞給委託方法setColors,但它取得了數組中的最後一種顏色。

任何人都可以引導我在條形圖上有不同的顏色。

這裏是我的代碼來調用BARCHART庫

months = ["HR","Operations","iOS","Android","PHP","Support","Testing","Designer"] 
     let unitsSold = [10.0,20.0,30.0,20.0,20.0,10.0,15.0,20.0] 
     let unitsSold1 = [20.0,30.0,50.0,40.0,30.0,20.0,45.0,50.0] 

     let barChartClass = self.storyboard!.instantiateViewControllerWithIdentifier("BarChartViewControllerID") as! BarChartViewController 
     self.addChildViewController(barChartClass) 
     barChartClass.view.frame = CGRectMake(20, 20, 740, 900) 
     barChartClass.barChartView.doubleTapToZoomEnabled = false 
     barChartClass.barChartView.setScaleEnabled(false) 
     self.view.addSubview(barChartClass.view) 
     barChartClass.barChartView.legend.enabled = false 

     barChartClass.setChartBarGroupDataSet(months, values: unitsSold, values2: unitsSold1, sortIndex: 0) 

這是方法調用setChartBarGroupDataSet

func setChartBarGroupDataSet(dataPoints: [String], values: [Double], values2: [Double],sortIndex:Int) 
    { 

     var dataEntries: [BarChartDataEntry] = [] 

     for i in 0..<dataPoints.count 
     { 
      let dataEntry = BarChartDataEntry(value: values[i], xIndex: i) 
      let dataEntry1 = BarChartDataEntry(value: values2[i], xIndex: i) 
      dataEntries.append(dataEntry) 
      dataEntries.append(dataEntry1) 
     } 

     let chartDataSet = BarChartDataSet(yVals: dataEntries, label: " ") 

     let COLOR_SET : [UIColor]! 
     COLOR_SET = [UIColor.redColor(),UIColor.greenColor()] 

     chartDataSet.setColors(COLOR_SET, alpha: 1.0) 

     let dataSets: [BarChartDataSet] = [chartDataSet] 

     let data = BarChartData(xVals: dataPoints, dataSets: dataSets) 

     barChartView.data = data 

     barChartView.descriptionText = "" 

     barChartView.rightAxis.drawGridLinesEnabled = false 
     barChartView.rightAxis.drawAxisLineEnabled = false 
     barChartView.rightAxis.drawLabelsEnabled = false 

     barChartView.animate(xAxisDuration: 2.0, yAxisDuration: 2.0, easingOption: .EaseInBounce) 
    } 

我想是這樣的

enter image description here

提前致謝。

+0

你如何管理中心的每個欄上的標籤? –

回答

2

這是一個堆積條形圖。在圖表的演示中,您可以看到堆積的條形圖。

基本上,每個BarChartDataEntry收到一個值或一個值的數組。傳遞一系列價值觀 - 你很好去!

let entry = BarChartDataEntry(values: [4.6, 3.8], xIndex: 0) dataset.colors = [UIColor.cyanColor(), UIColor.greenColor()] dataset.stackLabels = ["Inactive inventory", "Active inventory"]

在重複的問題太回答:https://github.com/danielgindi/Charts/issues/1324

+0

感謝您的解決方案,它的工作原理。對於遲到的回覆感到抱歉,因爲我正在動態管理數組的值,並取得了成功。感謝您的幫助@ daniel.gindi – Sagar

相關問題