Ошибка / ошибка в 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.