我有一个条形图,我正在尝试显示数据标签。当值均为正数时,数据标签显示正常。当我混合一些负值时,数据标签不会显示:
<?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中的一个错误,(因此)是无法回答的吗?
答案 0 :(得分:0)
对我来说,这是一个大小问题,标签太小,看不到22条,所以它们没有显示。 如果您将“for”的范围更改为:
for(var k:int=-5; k<5; k++)
您应该能够看到图表的所有标签。