Here's a copy of my edited post from Stack Overflow:
As it isn't possible to group series that have different axes, then the only way to achieve the chart you want is to manipulate the data.
In this case I would suggest using a SChartNumberAxis and setting the x-values to numbers that will space out the columns as you want them, e.g.:
let salesData: [[Double : Double]] = [
[0.5 : 5.65, 3.5 : 12.6, 6.5 : 8.4],
[1.5 : 4.35, 4.5 : 13.2, 7.5 : 4.6, 10.5 : 0.6]
Then you can use the
sChart:alterTickMark:beforeAddingToAxis: method of
SChartDelegate to alter the tick label text, e.g. if the tick mark's value was 1 you could set the label text to '2017' (don't forget to resize the label to fit); if it were 4 you could set it to '2018'; if it's a number you don't want to show you could set it to empty.
You may then wish to use the
barColumnSpacing property on the series'
style to fix the width of the columns.
I realise that this is a slightly convoluted solution, so I'm wondering if you could tell us a bit more about your use case? It's not something we've come across before. Multiple y-axes would normally be used to display data that is not comparable in size (e.g. temperature and rainfall), so using two column series in this way seems to be unusual.