apache-flex flex mx折线图数据函数

r1wp621o  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(160)

我有一个JSON服务链接,它以Integer的形式返回月份,以Number的形式返回价格,并显示在<mx:Linechart />上。
现在,我不想将月份显示为Integer,而是显示为与月份值等效的字符串。
我尝试过创建这样的数据函数。

public function myDataFunction(series:LineSeries, item:Object, fieldName:String):Object {
    var months:Array = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
    var my_date:Date = new Date();

    if (fieldName == 'yValue')
        return(item.price);
    else if (fieldName == "xValue")
    {
        return((months[my_date.month]));
    }
    else
        return null;
}

我想张贴的声誉,但我没有足够的声誉。任何人请帮助。
谢谢

oxalkeyp

oxalkeyp1#

若要在水平轴中显示月份名称,您需要为其指定labelFunction
声明折线图时,请按如下方式指定水平轴:

<mx:Linechart>
     <mx:horizontalAxis>
         <mx:CategoryAxis categoryField="xValue"/>
     </mx:horizontalAxis>
</mx:Linechart>

要修改水平轴的值,需要指定labelFunction

<mx:CategoryAxis categoryField="xValue" labelFunction="labelFunction"/>

labelFunction应如下所示:

function labelFunction(categoryValue:Object, previousCategoryValue:Object, axis:CategoryAxis, categoryItem:Object):String {
    return "label";
}

如需详细信息,请参阅:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/charts/CategoryAxis.html#labelFunction

相关问题