2011-01-09 3 views
4

Ich verwende das Flex ColumnChart mit mehreren ColumnSeries. Ich möchte Platz zwischen den ColumnSeries-Balken/Spalten hinzufügen.Wie fügt man Platz zwischen ColumnSeries in einem Flex/Flash ColumnChart hinzu?

Was meine ich? Wenn Sie sich die Adobe LiveDocs for ColumnChart ansehen, habe ich eine Tabelle ähnlich der ersten Tabelle. Ich möchte Rand/Abstand zwischen den orange und grünen Spalten hinzufügen (nicht die Monate).

alt text

Ich habe durch den LiveDocs sah, und ich kann alles auf ihn nicht finden.

+0

Bitte benutzen Sie jemals herausfinden, wie man das macht? –

Antwort

1

Sie müssen mit Y-Koordinate der zweiten Serie herumspielen. Ich habe dir ein Beispiel geschrieben, wie du erreichen kannst, den Abstand zwischen mehreren Serien zu kontrollieren. Dies ist nicht perfekt, aber hoffentlich zeigt Ihnen, die richtige Art und Weise, wie es geht;)

http://pastie.org/3327210

enter image description here

+0

oh sorry, dreh einfach meine Gedanken Pi/2 und bewege x ... –

+0

fühle mich frei, die Antwort zu akzeptieren, sonst würde ich dir das horizontale Balkendiagramm zeigen;) –

0

Subclassing mx.charts.series.ColumnSet funktionierte perfekt für mich (zumindest 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;  
    } 
} 

so verwendet:

var cs:TestColumnSet = new TestColumnSet(); 
... 
cs.intraSetColumnWidthRatio = cs.columnWidthRatio/cs.series.length*(1-desiredSpaceRatio); 
Verwandte Themen