【问题标题】:Bug/Error in the Adobe Flex SDK 4.5 when removing series from Cartesian Charts从笛卡尔图表中删除系列时 Adob​​e Flex SDK 4.5 中的错误/错误
【发布时间】:2012-03-02 12:32:29
【问题描述】:

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

我做了一点example project 在笛卡尔图表(线/面积/柱/条)中的系列数据范围,有点像谷歌金融图表。当我将所有系列添加到图表时,问题没有发生。只有当我有多个系列并删除一个或多个系列而不是数据范围时,系列数据才会被压缩:

Chart image

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

这是我项目的主要代码,我在其中向折线图添加系列,删除系列并覆盖所有图表系列。

        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;
        }

有人遇到同样的问题或知道如何以其他方式删除系列?

【问题讨论】:

  • 您能否更明确地说,您在哪种 Flex SDK 下目睹了这种错误行为?我已经使用 Flex 4.6 SDK 测试了您的示例,我无法得到所附 [图表图像] 屏幕截图所示的情况。
  • @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 中的对应类,我得到了一些与默认样式值相关的错误,如果你走这条路,也许你会更幸运。
  • @JabbyPanda 再次感谢您,这真是个好主意。我们将升级到 SDK 4.6,但我们遇到了一些性能问题,而 SDK 4.5.1 没有这些问题。所以你只是将“charts.swc”从 SDK 4.6 复制到 SDK 4.5.1?它不适合我。

标签: apache-flex charts flex4.5 flex-charting


【解决方案1】:

非常感谢JabbyPanda,他在上面的comment 描述了如何解决问题。只需将 SDK 4.6 中的 charts.swc 替换为 SDK 4.5.1 中的charts.swc

【讨论】:

    猜你喜欢
    • 2012-03-17
    • 2018-04-17
    • 2012-05-20
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 2015-03-31
    • 2010-11-16
    • 1970-01-01
    相关资源
    最近更新 更多