当值为负时显示数据标签

时间:2011-05-28 22:59:15

标签: flex charts

我有一个条形图,我正在尝试显示数据标签。当值均为正数时,数据标签显示正常。当我混合一些负值时,数据标签不会显示:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%"
           creationComplete="fillArray();"
           >

<fx:Script>
    <![CDATA[
        import flash.events.Event;

        import mx.collections.ArrayCollection;
        import mx.controls.Alert;

        public var array:Object=new Object();
        [Bindable]
        public var ac:ArrayCollection=new ArrayCollection([]);

        private function fillArray():void{

            array=new Object(); 
            ac=new ArrayCollection([]);

            for(var k:int=-12; k<10; k++){ //datalabels are visible if I start k at 0
            array=new Object();
            array['val']=k;
            array['label']=k;
            ac.addItem(array);
            }



        }


    ]]>
</fx:Script>

<mx:BarChart id="barChart" width="100%" dataProvider="{ac}">
    <mx:verticalAxis>
        <mx:CategoryAxis dataProvider="{ac}" categoryField="label"/>
    </mx:verticalAxis>
    <mx:series>
        <mx:BarSeries xField="val" labelPosition="outside"/>

    </mx:series>
</mx:BarChart>  
编辑:这是Flex中的一个错误,(因此)是无法回答的吗?

1 个答案:

答案 0 :(得分:0)

对我来说,这是一个大小问题,标签太小,看不到22条,所以它们没有显示。 如果您将“for”的范围更改为:

for(var k:int=-5; k<5; k++)

您应该能够看到图表的所有标签。