如何在运行时强制Flex图表重绘

Iva*_*van 5 apache-flex flex3

我有一个柱形图,它使用标签函数来格式化垂直轴.我添加了一个按钮,希望在单击按钮时重绘轴(或图表).现在,图表轴仅在最初添加到视图状态时才会呈现OK.

我有一个函数,在最初创建图表后设置各种属性.在那里,我尝试了所有这些:

myChart.verticalAxis.dataChanged();
myChart.validateNow();
myChart.validateDisplayList();
myChart.validateProperties();
myChart.invalidateDisplayList();
myChart.invalidateProperties();

但它们不会改变轴格式.我怎样才能做到这一点?

轴的MXML代码是:

< mx:LinearAxis id="verticalAxis" labelFunction="vAxisFormat"/>

标签功能是:

    private function vAxisFormat(labelValue:Number, previousValue:Object, axis:IAxis):String {
        axis.getLabelEstimate();
        if (_scale == 1){
            return currencyFormatter.format(labelValue/_scale); 
        }else {
            return numberFormatter.format(labelValue/_scale);
        }   
    }
Run Code Online (Sandbox Code Playgroud)

小智 0

尝试更新数据提供者。这将重新绘制图形,以及所有组件。

例子:

ArrayCollection arr.refresh();

XML char.dataprovider = xmlData

问候