Я разрабатываю диаграмму, в которой мне нужно иметь несколько наборов столбцов, но flex дает мне странные результаты. Я использую структуру петрушки.
Вот мой код mxml
<mx:ColumnChart id="columnChart"
width="100%" height="100%"
dataProvider="{myPM.myData}"
showDataTips="true"
click="handleChartClick(event)"
backgroundElements="{backgroundGrids}"
dataTipFunction="{myPM.formatColumnChartToolTipData}"
type="clustered"
>
<mx:horizontalAxis>
<mx:CategoryAxis id="hAxis"
categoryField="{myPM.xFieldLabel}"
title="{myPM.xAxisDisplayLabel}"/>
</mx:horizontalAxis>
<mx:verticalAxis>
<mx:LinearAxis id="vAxis"
title="{myPM.yAxisDisplayLabel}"/>
</mx:verticalAxis>
<mx:series>
**works perfecly fine if i change type="clustered"**
<mx:ColumnSet series="{myPM.columnSeries}"
type="stacked"
verticalAxis="{vAxis}"
>
</mx:ColumnSet>
<mx:ColumnSet>
<mx:ColumnSeries xField="{myPM.xFieldLabel}"
yField="{myPM.yFieldLabel}"
displayName="year"/>
</mx:ColumnSet>
</mx:series>
</mx:ColumnChart>
В моей модели презентации я возвращаю серию столбцов, представленную в следующем коде.
public class MyPM
{
public var columnSeries:Array;
public void init()
{
columnSeries=getColumnSeries();
}
public function getColumnSeries():Array
{
var series:Array = new Array();
var columnSeries:ColumnSeries;
columnSeries=new ColumnSeries();
//columnSeries.xField=xFieldLabel;
columnSeries.yField="quarter1_profit_count";
columnSeries.displayName="quarter1_title";
series.push(columnSeries);
columnSeries=new ColumnSeries();
//columnSeries.xField=xFieldLabel;
columnSeries.yField="quarter2_profit_count";
columnSeries.displayName="quarter2_title";
series.push(columnSeries);
columnSeries=new ColumnSeries();
//columnSeries.xField=xFieldLabel;
columnSeries.yField="quarter3_profit_count";
columnSeries.displayName="quarter3_title";
series.push(columnSeries);
columnSeries=new ColumnSeries();
//columnSeries.xField=xFieldLabel;
columnSeries.yField="quarter4_profit_count";
columnSeries.displayName="quarter4_title";
series.push(columnSeries);
return series;
}
}
Проблема, с которой я столкнулся, заключается в следующем: «В первом столбце должно быть 4 ряда столбцов с накоплением, но flex отбрасывает 1 из 4 серий столбцов с накоплением (я могу видеть только 3 или 2 столбца, он отбрасывает оставшийся один). Я отладил свой код и данные идут отлично.Если я удалю все наборы столбцов и напишу как, тогда это даст мне правильный результат для первого столбца с накоплением. Но поскольку я хочу и второй столбец, который будет иметь суммирование всех данных в одном месте. для например, 1-й столбец с накоплением будет показывать квартальную прибыль, а второй столбец, который я хочу, должен отображать общую прибыль за год ».
Вы можете посмотреть графики здесь
- без использования наборов столбцов и серий привязки непосредственно в определении - как видите, здесь отброшены кварталы. в обеих диаграммах источник данных один и тот же
Я не знаю, что делаю здесь не так. Мы будем благодарны за любую помощь. Заранее спасибо.