Ошибка / ошибка в Adobe Flex SDK 4.5 при удалении серий из декартовых карт

У меня проблема с декартовыми диаграммами в Adobe Flex SDK 4.5 и 4.5.1. Возможно, это ошибка, потому что ее нет в SDK 4.0, 4.1 и 4.6. Или это просто проблема моего кода.

Я сделал небольшой пример проекта, чтобы охватить данные ряда в CartesianChart (Линия / Область / Столбец / Столбик), немного похожий на график финансов Google. Когда я добавляю все серии в график, проблема не возникает. Только когда у меня есть несколько рядов, и я удаляю одну или несколько серий, а затем располагаю их в диапазоне, данные серии сжимаются:

Изображение диаграммы

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

Вот основной код моего проекта, где я добавляю серии в линейную диаграмму, удаляю серии и располагаю их по всем сериям диаграмм.

        public function addChartSeries(name:String, dataProvider:Array):void
        {
            var lineSeries:LineSeries = new LineSeries();
            lineSeries.xField = "date";
            lineSeries.yField = "value";
            lineSeries.displayName = name;
            lineSeries.dataProvider = dataProvider;
            var mySeries:Array = new Array();
            mySeries = lineChart.series;
            mySeries.push(lineSeries);
            lineChart.series = mySeries;
        }

        public function removeSeries(index:int):void
        {
            var mySeries:Array = new Array();
            mySeries = lineChart.series;
            mySeries.splice(index, 1);
            lineChart.series = mySeries;
        }

        private function changeDataProvider():void
        {
            var series:Array = lineChart.series;
            for (var i:int = 0; i < series.length; i++) 
            {
                var lineSeries:LineSeries = series[i];
                var item:ChartItem = chartItems.getItemAt(i) as ChartItem;
                lineSeries.dataProvider = item.data.slice(leftindex, rightIndex);
            }
            lineChart.series = series;
        }

У кого-то была такая же проблема или есть идея, как удалить серию по-другому?

1 ответ

Решение

Большое спасибо JabbyPanda, его комментарий выше описывает, как решить проблему. Просто "заменить" charts.swc из SDK 4.6 с одним из SDK 4.5.1.

Другие вопросы по тегам