我正在快速使用 CHARTS 库。 https://github.com/danielgindi/Charts
我在创建饼图和条形图方面取得了成功。 现在我想创建具有一个“x”值和 2 个“y”值的条形图。
我用两个不同的值创建了条形图。
但我无法为它们设置颜色
我将颜色数组传递给委托(delegate)方法 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
都会收到一个值或一组值。传递一组值 - 一切顺利!
让条目 = BarChartDataEntry(值:[4.6,3.8],xIndex:0)
dataset.colors = [UIColor.cyanColor(), UIColor.greenColor()]
dataset.stackLabels = ["非活跃库存", "活跃库存"]
关于ios - 条形图 Swift 的多种颜色一个在另一个之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38658402/