Subclassing mx.charts.series.ColumnSet works fine for me (at least in 4.0 sdk)
public class TestColumnSet extends ColumnSet { public var intraSetMaxColumnWidth:Number = NaN; public var intraSetColumnWidthRatio:Number = NaN; override protected function customizeSeries(glyph:IChartElement,i:uint):void { super.customizeSeries(glyph, i); var currentSeries:IColumn = IColumn(glyph); if(!isNaN(intraSetColumnWidthRatio)) currentSeries.columnWidthRatio = intraSetColumnWidthRatio; if(!isNaN(intraSetMaxColumnWidth)) currentSeries.maxColumnWidth = intraSetMaxColumnWidth; } }
used like this:
var cs:TestColumnSet = new TestColumnSet(); ... cs.intraSetColumnWidthRatio = cs.columnWidthRatio/cs.series.length*(1-desiredSpaceRatio);
source share