Apache flex 从笛卡尔图表中删除系列时,Adobe Flex SDK 4.5中存在错误/错误

Apache flex 从笛卡尔图表中删除系列时,Adobe Flex SDK 4.5中存在错误/错误,apache-flex,charts,flex4.5,flex-charting,Apache Flex,Charts,Flex4.5,Flex Charting,我对Adobe Flex SDK 4.5和4.5.1中的笛卡尔图表有一个问题。也许这是一个bug,因为它不在SDK 4.0、4.1和4.6中。或者这只是我的代码的问题 我在CartesianChart(线/面积/列/条)中对系列数据做了一些调整,有点像谷歌财务图表。当我将所有系列添加到图表中时,问题没有发生。只有当我有多个系列并删除数据上的一个或多个系列和多个范围时,系列数据才会被压缩: 当我覆盖当前数据时,水平轴似乎没有改变,或者没有得到图表数据改变的更新 这是我的项目的主要代码,我在折线图

我对Adobe Flex SDK 4.5和4.5.1中的笛卡尔图表有一个问题。也许这是一个bug,因为它不在SDK 4.0、4.1和4.6中。或者这只是我的代码的问题

我在CartesianChart(线/面积/列/条)中对系列数据做了一些调整,有点像谷歌财务图表。当我将所有系列添加到图表中时,问题没有发生。只有当我有多个系列并删除数据上的一个或多个系列和多个范围时,系列数据才会被压缩:

当我覆盖当前数据时,水平轴似乎没有改变,或者没有得到图表数据改变的更新

这是我的项目的主要代码,我在折线图中添加了系列,删除了所有chartseries中的系列和范围

        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;
        }
公共函数addChartSeries(名称:字符串,数据提供程序:数组):void
{
var lineSeries:lineSeries=newlineseries();
lineSeries.xField=“日期”;
lineSeries.yField=“值”;
lineSeries.displayName=名称;
lineSeries.dataProvider=数据提供程序;
var mySeries:Array=new Array();
mySeries=lineChart.series;
推送(lineSeries);
lineChart.series=mySeries;
}
公共函数removeSeries(索引:int):void
{
var mySeries:Array=new Array();
mySeries=lineChart.series;
拼接(索引,1);
lineChart.series=mySeries;
}
私有函数changeDataProvider():void
{
变量系列:数组=lineChart.series;
对于(变量i:int=0;i

有没有人遇到过同样的问题,或者知道如何用另一种方式删除一个系列?

多亏了他,上面描述了如何解决这个问题。只需将SDK 4.6中的
charts.swc
替换为SDK 4.5.1中的
charts.swc即可。

在什么Flex SDK下,您会看到这种错误行为?我已经用Flex 4.6 SDK测试了您的示例,我无法从所附的[Chart image]屏幕截图中了解情况。@JabbyPanda感谢您的回复。只有SDK 4.5和4.5.1是这样的,您遇到的这个问题发生在SDK 4.5.1中,而不是4.6中。如果完全升级不是您的选择,我建议只替换4.6 SDK中的“charts.swc”库,这对我很有用。我还对SDK 4.5.1和SDK 4.6中的图表类做了一些区分。这些更改确实很小,但我未能将4.5.1 SDK中的solumn CartesianChart类替换为4.6 SDK中的solumn CartesianChart类,我得到了一些与默认样式值相关的错误,如果您愿意走这条路,也许您会更幸运。@JabbyPanda再次感谢您,这是一个非常好的主意。我们将升级到SDK 4.6,但我们遇到了一些性能问题,这是SDK 4.5.1所没有的。那么您只是将“charts.swc”从SDK 4.6复制到SDK 4.5.1?这对我不起作用。