这个问题终于解决了,lineChart要学的东西真的很多啊,刚开始的时候,真的很不理解,现在好多了,无论是线还是点,或者点的提示信息,这是都是对象,所以,它们必然可以完全控制,我觉得有几个东西很重要,
1.首先就是渲染器,比如CircleItemRendererd的颜色,很多的人都不够明白,这是为什么,它的外围颜色怎么无法修改?的却,它的外围颜色是取的系统的默认颜色数据,
private static const DEFAULT_FLEX_SERIES_COLORS:Array = [
0xE48701, 0xa5bc4e, 0x1b95d9, 0xcaca9e,
0x6693b0, 0xf05e27, 0x86d1e4, 0xe4f9a0,
0xffd512, 0x75b000, 0x0662b0, 0xede8c6,
0xcc3300, 0xd1dfe7, 0x52d4ca, 0xc5e05d,
0xe7c174, 0xfff797, 0xc5f68f, 0xbdf1e6,
0x9e987d, 0xeb988d, 0x91c9e5, 0x93dc4a,
0xffb900, 0x9ebbcd, 0x009797, 0x0db2c2
];
这个你无法修改,你可以每条线的颜色从这个数组中取,这样Fillcolor和点的外围颜色就一样了,呵呵,这是个很笨的方法,当然,这没有解决根本的问题,要解决根本的问题,那就是写一个自己的渲染器,对rogrammaticSkin进行扩展,重新画一下OK,这个问题就解决了。
2.dataTipFunction
点的提示信息的自定方法当就是它了,
下面我想应该就是它的默认的信息了,你想提示什么或者什么格式就随便你自己了。
private function setDatetipsFun(hd:HitData):String
{
var returnStr:String="";
var this_series:LineSeries=LineSeries(hd.element);//---线
var disPlayName:Object=this_series.displayName;
var xValue:Object=LineSeriesItem(hd.chartItem).xValue;
var yValue:Number=LineSeriesItem(hd.chartItem).yValue
returnStr+=disPlayName.toString()+"<BR/>";
returnStr+=xValue.toString()+"<BR/>";
returnStr+=yValue.toString()+"<BR/>";
return returnStr;
}
3.fillFunction
点的填充色,这也是一个很重要的东西,显示什么样的颜色,任你选,够自由了吧
4.动态生成曲线
linechart.series.push(Myline);
这个也很常用的东西
5.点的局中显示和一个点的解决
这个想必很多的人都会遇到的问题
我的解决办法是在第一个和最后一个位置再添加一个点,这样就不存在一个点的问题了,而且所有点局中显示
注意的就是添加点y值要取特殊的,而且不要让它显示出来,呵呵,很好的方法。
6.x坐标的格式化,网上的代码多的是,我就不说了,包括css都可以弄好
7.坐标的任意
当然添加一个HSlider,上下限都可调,呵呵,不错的想法
还有很多的东西,就写在这了,下次再说,具体的代码略了
8.XY轴的格式化:
http://www.flexer.cn/blog/?p=637