I'm using iOS charts library and trying to do a bar-bar combined chart.
I'm not sure this is possible but i did not see any limitation regarding on the documentation so i'm assuming there such an option.
This is the code i'm using to add the combined chart:
func createIntegratedChartForStat(stat:String, chart:CombinedChartView){
chart.noDataText = "You need to provide data for the " + stat + " chart"
var dataEntriesTotal: [BarChartDataEntry] = []
var dataEntriesGood: [BarChartDataEntry] = []
for i in 0..<gamesOrder.count {
let outFromStat = playersFullData["b"]![stat]![i]
var splittedData = outFromStat.split(separator: "/")
let dataEntryTotal = BarChartDataEntry(x: Double(i), y: Double(splittedData[0])!)
let dataEntryGood = BarChartDataEntry(x: Double(i), y: Double(splittedData[1])!)
dataEntriesTotal.append(dataEntryTotal)
dataEntriesGood.append(dataEntryGood)
}
let chartDataSetTotal = BarChartDataSet(values: dataEntriesTotal, label: stat + " Attempts")
let chartDataSetGood = BarChartDataSet(values: dataEntriesGood, label: stat + " Successful")
let chartData = CombinedChartData(dataSets: [chartDataSetTotal, chartDataSetGood])
chart.data = chartData
}
All i'm getting is this:
And the following error if i touch the chart:
[Unknown process name] CGAffineTransformInvert: singular matrix.
Can this be done or am i missing something?
It is possible, i just added the data to the combined chart in wrong. Adding the updated code:
func createIntegratedChartForStat(stat:String, chart:CombinedChartView){
chart.noDataText = "You need to provide data for the " + stat + " chart"
var dataEntriesTotal: [BarChartDataEntry] = []
var dataEntriesGood: [BarChartDataEntry] = []
for i in 0..<gamesOrder.count {
let outFromStat = playersFullData["b"]![stat]![i]
var splittedData = outFromStat.split(separator: "/")
let dataEntryTotal = BarChartDataEntry(x: Double(i), y: Double(splittedData[0])!)
let dataEntryGood = BarChartDataEntry(x: Double(i), y: Double(splittedData[1])!)
dataEntriesTotal.append(dataEntryTotal)
dataEntriesGood.append(dataEntryGood)
}
let chartDataSetTotal = BarChartDataSet(values: dataEntriesTotal, label: stat + " Attempts")
chartDataSetTotal.colors = [NSUIColor .blue]
let chartDataSetGood = BarChartDataSet(values: dataEntriesGood, label: stat + " Successful")
chartDataSetGood.colors = [NSUIColor .green]
let chartData = BarChartData(dataSets: [chartDataSetTotal, chartDataSetGood])
let data: CombinedChartData = CombinedChartData()
data.barData = chartData
chart.data = data
}