in ChartsDemo-macOS/PlaygroundChart.playground/Pages/CombinedChart.xcplaygroundpage/Contents.swift [59:102]
func generateBarData() -> BarChartData
{
//: ### BarChartDataEntry
var entries1 = [BarChartDataEntry]()
var entries2 = [BarChartDataEntry]()
for _ in 0..<ITEM_COUNT
{
entries1.append(BarChartDataEntry(x: 0.0, y: (Double(arc4random_uniform(25) + 25))))
/*:
- Note: stacked
*/
entries2.append(BarChartDataEntry(x: 0.0, yValues: [Double(arc4random_uniform(13) + 12), Double(arc4random_uniform(13) + 12)]))
}
//: ### BarChartDataSet
let set1 = BarChartDataSet(values: entries1, label: "Bar 1")
set1.colors = [#colorLiteral(red: 0.235294117647059, green: 0.862745098039216, blue: 0.305882352941176, alpha: 1.0)]
set1.valueTextColor = #colorLiteral(red: 0.235294117647059, green: 0.862745098039216, blue: 0.305882352941176, alpha: 1.0)
set1.valueFont = NSUIFont.systemFont(ofSize: CGFloat(10.0))
set1.axisDependency = .left
let set2 = BarChartDataSet(values: entries2, label: "Bar 2")
set2.stackLabels = ["Stack 1", "Stack 2"]
set2.colors = [#colorLiteral(red: 0.23921568627451, green: 0.647058823529412, blue: 1.0, alpha: 1.0), #colorLiteral(red: 0.090196078431373, green: 0.772549019607843, blue: 1.0, alpha: 1.0)]
set2.valueTextColor = #colorLiteral(red: 0.23921568627451, green: 0.647058823529412, blue: 1.0, alpha: 1.0)
set2.valueFont = NSUIFont.systemFont(ofSize: CGFloat(10.0))
set2.axisDependency = .left
//: ### BarChartData
let groupSpace = 0.06
let barSpace = 0.02
let barWidth = 0.45
/*:
- Note: x2 dataset
(0.45 + 0.02) * 2 + 0.06 = 1.00 -> interval per "group"
*/
let data = BarChartData(dataSets: [set1, set2])
data.barWidth = barWidth
/*:
- Note: make this BarData object grouped
*/
data.groupBars(fromX: 0.0, groupSpace: groupSpace, barSpace: barSpace) // start at x = 0
return data
}