Ошибка в сложенных сериях в Flex Charting - PullRequest
2 голосов
/ 18 февраля 2010

Я думаю, что есть ошибка в графике Flex.

"ОСЬ ДАННЫХ НЕ ПОДДЕРЖИВАЕТ СОХРАНЕНИЕ СЕРИЙ СЕРИИ В НЕКОТОРЫХ СЛУЧАЯХ, КОГДА ЛИНЕЙНАЯ ОСЬ И КАТЕГОРИЯ РАБОТАЕТ ШАБЛЕННО В СХОДНЫХ УСЛОВИЯХ"

Это происходит для «кластерных» и «сложенных» типов, когда каждая серия имеетиндивидуальный поставщик данных.Если провайдеру данных назначен сам график, он будет работать нормально.

Код ниже работает нормально, когда (1) 'c.dataprovider = yeardata;'uncommented (2)' series1.dataProvider = yearData2; 'комментируется.(3) 'series2.dataProvider = yearData2;'Комментарий

Однако, если используется ось категории или линейная ось, тогда код работает нормально, независимо от того, как мы назначаем поставщика данных. Код вставлен ниже для справки.

«Это ошибка в гибком или что-то не так» ??

Мне это отчаянно нужно, пожалуйста, помогите.

Заранее спасибо.

==========================================================

 [Bindable]
 private var yearlyData1:ArrayCollection = new ArrayCollection([
    {month:"January", revenue:120, costs:45, id:1,
        overhead:102, oneTime:23, date:new Date(2010,1,19,1,1,1)},
    {month:"February", revenue:108, costs:42, id:2,
        overhead:87, oneTime:47, date:new Date(2010,1,19,1,1,2)},
    {month:"March", revenue:150, costs:82, id:3,
        overhead:32, oneTime:21, date:new Date(2010,1,19,1,1,3)},
    {month:"April", revenue:170, costs:44, id:4,
        overhead:68, date:new Date(2010,1,19,1,1,4) }
 ]);

 [Bindable]
 private var yearlyData2:ArrayCollection = new ArrayCollection([
    {month:"January", revenue:120, costs:45, id:1,
        overhead:102, oneTime:23, date:new Date(2010,1,19,1,1,1)},
    {month:"February", revenue:108, costs:42, id:2,
        overhead:87, oneTime:47, date:new Date(2010,1,19,1,1,2)},
    {month:"March", revenue:150, costs:82, id:3,
        overhead:32, oneTime:21, date:new Date(2010,1,19,1,1,3)},
    {month:"April", revenue:170, costs:44, id:4,
        overhead:68, date:new Date(2010,1,19,1,1,4) }
 ]);

var c:ChartBase = new CartesianChart();

 private function initApp():void {

// Это будет работать нормально, когда не комментируется // c.dataProvider = yearData1;

    var hAxis:DateTimeAxis = new DateTimeAxis();
    CartesianChart(c).horizontalAxis = hAxis;

    var vAxis:LinearAxis = new LinearAxis();
    CartesianChart(c).verticalAxis = vAxis;


    var mySeries:Array = new Array();
    panel2.addChild(c);


    var innerSet:ColumnSet = new ColumnSet();
    innerSet.type = "stacked";
    var series1:Series = new ColumnSeries();
    // This will work fine when commented
    series1.dataProvider = yearlyData1;
    ColumnSeries(series1).xField = "date";
    ColumnSeries(series1).yField = "costs";
    ColumnSeries(series1).displayName = "Costs";
    ColumnSeries(series1).horizontalAxis = hAxis;
    ColumnSeries(series1).verticalAxis = vAxis;


    var series2:Series = new ColumnSeries();
    // This will work fine when commented
    series2.dataProvider = yearlyData2;
    ColumnSeries(series2).xField = "date";
    ColumnSeries(series2).yField = "oneTime";
    ColumnSeries(series2).displayName = "One-Time Costs";
    ColumnSeries(series2).horizontalAxis = hAxis;
    ColumnSeries(series2).verticalAxis = vAxis;


    innerSet.horizontalAxis = hAxis;
    innerSet.verticalAxis = vAxis;


    innerSet.series.push(series1);
    innerSet.series.push(series2);

    c.series.push(innerSet);
    var l:Legend = new Legend();
    l.dataProvider = c;
    panel2.addChild(l);

 }

]]>

=========================================================

...