我试图显示一些整数数据,但 BarChart 在轴上使用小数值,这在这种情况下没有意义。有没有办法强制图表只在轴上使用整数值?我不知道范围,所以它可以是从 1 到 10000000 的任何值,所以我不能明确地设置所有内容。
问问题
2288 次
5 回答
5
我自己遇到了这个问题,并使用自定义 labelFunction 来解决我需要更改的轴。
图表 MXML:
<mx:BarChart dataProvider="{data}" width="100%" height="100%">
<mx:series>
<mx:BarSeries xField="x" yField="y" />
</mx:series>
<mx:verticalAxis>
<mx:LinearAxis id="verticalAxis" labelFunction="verticalAxis_labelFunction" />
</mx:verticalAxis>
</mx:BarChart>
labelFunction
脚本:
protected function verticalAxis_labelFunction(labelValue:Object, previousValue:Object, axis:IAxis):String
{
if (Number(labelValue) != int(labelValue))
return "";
else
return String(labelValue);
}
这种方法的一个缺点是对于十进制值仍然会出现刻度。
于 2011-05-12T22:43:08.970 回答
3
我发现那<mx:LinearAxis interval="1"/>
行得通。对于较小的范围,例如 0-2,它标记为 0、1、2,但对于较大的范围,例如 0-16,它标记为 0、5、10、15。
于 2011-12-01T23:04:21.223 回答
1
将 maximumLabelPrecision 设置为 0。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/charts/LinearAxis.html
<mx:verticalAxis>
<mx:LinearAxis id="valueAxis" maximumLabelPrecision="0"/>
</mx:verticalAxis>
于 2012-03-02T21:09:30.860 回答
0
ChartName.Series(seriesName).YValueType = ChartValueType.Int32
于 2016-05-17T02:32:39.017 回答
-1
我认为您绝对需要向我们展示发生这种情况的示例。当我这样做时(在一个非常简单的示例中),即使我的数据由Number
s 组成,我也会在轴上得到整数:
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
var data:ArrayCollection = new ArrayCollection([
{ x: 5.5555333343, y: 5.111 },
{ x: 7.2, y: 9.5 },
]);
]]>
</fx:Script>
<mx:BarChart dataProvider="{data}" width="100%" height="100%">
<mx:series>
<mx:BarSeries xField="x" yField="y" />
</mx:series>
</mx:BarChart>
于 2011-03-31T10:33:38.187 回答