Динамически добавлять столбцы серии Adobe Flash - PullRequest
0 голосов
/ 12 декабря 2011

У меня есть столбчатая диаграмма, которую я сделал с помощью Adobe Flash Builder.

Я бы хотел иметь возможность динамически добавлять (или удалять) серии столбцов.учебник, описывающий, как сделать это онлайн?

Спасибо

Ответы [ 2 ]

2 голосов
/ 12 декабря 2011

Вы можете попробовать это.

var cs:ColumnSeries=new ColumnSeries();
cs.yField="yourYfield";
cs.xField="yourXfield";
cs.displayName="yourDisplayName";
columnChart.series.push(cs);

Ваша диаграмма столбцов

<mx:ColumnChart id="columnChart"/> 
0 голосов
/ 12 декабря 2011

Попробуйте следующий код ... Трудно понять, но легко реализовать ....

arrcolpie=new ArrayCollection();
            for(var i:int=0;i<arrCategoryName.length;i++)
            {
                var temp1:int;
                temp1 = i;

                addElementInCollection(arrCategoryName[i],arrRightCategoryMark[i],arrWrongCategoryMark[i],temp1);
            }   

            chartBar.dataProvider=arrcolpie;
            chartBar.validateNow();     

 public function addElementInCollection(catgName:String,crt:Number,wrg:Number,i:int):void
        {
            tempobj=new Object();

            tempobj.Label=catgName;
            tempobj.wronganswered=wrg;
            tempobj.rightanswer=crt;

            arrcolpie.addItemAt(tempobj,i);
        }


<mx:ColumnChart id="chartBar" height="100%" width="100%" dataProvider="{arrcolpie}" showDataTips="true"
                        columnWidthRatio="0.4">
                        <mx:horizontalAxis>
                            <mx:CategoryAxis categoryField="Label" id="a2" />
                        </mx:horizontalAxis>
                        <mx:horizontalAxisRenderer>
                            <mx:AxisRenderer axis="{a2}" />
                        </mx:horizontalAxisRenderer>
                        <mx:verticalAxis>
                            <mx:LinearAxis baseAtZero="true" minimum="0" maximum="100" />
                        </mx:verticalAxis>
                        <mx:series>
                            <mx:ColumnSeries yField="rightanswer" xField="Label" displayName="Correct Answers" />
                            <mx:ColumnSeries yField="wronganswered" xField="Label" displayName="Wrong Answers" />
                        </mx:series>    
                    </mx:ColumnChart>
                    <mx:Legend direction="horizontal">
                        <mx:LegendItem label="Correct Answers" fontWeight="bold" color="#082655">
                            <mx:fill>
                                <mx:SolidColor color="#00FF00" alpha=".3" />
                            </mx:fill>
                            <mx:stroke>
                                <mx:Stroke color="#00FF00" weight="2"/>
                            </mx:stroke>
                        </mx:LegendItem>
                        <mx:LegendItem label="Wrong Answers" fontWeight="bold" color="#082655">
                            <mx:fill>
                                <mx:SolidColor color="#FF0000" alpha=".3" />
                            </mx:fill>
                            <mx:stroke>
                                <mx:Stroke color="#FF0000" weight="2"/>
                            </mx:stroke>
                        </mx:LegendItem>
                    </mx:Legend>
...