我正在迅速使用CHARTS库。https://github.com/danielgindi/Charts
我在创建饼图和条形图时很成功。现在,我要创建一个带有一个“ x”值和两个“ 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)
}
我想要的是这样的东西
提前致谢。
这是堆积的条形图。在Charts的演示中,您可以看到堆积的条形图。
基本上,每个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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句