Flex lineChart图表如何自定义X轴Label
数据源是商品每天的价格,格式是{price:1000,date:2010-8-23},用FLex的LineChart实现价格趋势图,其中X轴是日期,Y轴是价格,图表的内容可显示每月的价格(有详细数据点),或者显示每年的价格情况(无数据点)。现在的问题是:在显示年数据的时候,如何使得X轴的 Label只显示每月1号,如:2010-1-1,2010-2-1,horizontalAxisRenderers --> AxisRenderer -->canDropLabels="true"只能做到自动丢弃date的值,horizontalAxis --> CategoryAxis -->labelFunction="horizontalAxis_labelFunc"可对date的值进行过滤,但是字体会变得非常小。哪位大侠知道如何实现,指点一下小女子,先谢了!这个问题比较急,能够提供帮助的给我留个QQ咨询,谢谢! 图表的效果请看附件
private function horizontalAxis_labelFunc(item:Object, prevValue:Object, axis:CategoryAxis, categoryItem:Object):String {
var curDate:Date;
var showDateStr:String="";
curDate=DateFormatter.parseDateString(item.toString());
if(groupDate.selectedValue=="年"){
showDateStr=" "+dfM.format(curDate)+" ";
}else{
showDateStr=" "+dfD.format(curDate)+" ";
}
return showDateStr;
}
1 楼 li.chening 2010-09-03 用DateTimeAxis,设置dataUnit为“months”,至于具体什么label,你可以自己在labelFunction设置 2 楼 Fonkie 2010-09-06 要是横轴不是时间而且一串中文字符呢,该如何设置才能不会让字体变得很小 3 楼 li.chening 2010-09-13 Fonkie 写道要是横轴不是时间而且一串中文字符呢,该如何设置才能不会让字体变得很小
那就要用到horizontalAxisRenderers,像这样:
<mx:horizontalAxisRenderers >
<mx:AxisRenderer axis="{dateTimeAxis}" fontSize="15"/>
</mx:horizontalAxisRenderers >
这里“dateTimeAxis”是你的DateTimeAxis的id,用fontSize属性就可以设置你字体大小了