问题描述
各位高手们,你们好在最近的一个项目里面,用到HighCharts实现图表,要求Y轴坐标值以科学计数法形式展现,X轴以“季度Q/年份”形式展现。目前,使用对数值形式勉强可以实现Y轴坐标值的要求,但存在错误。程序里面传递的是对数,对于“-1E-5”和“1E-5”,不能区分,而“1E-5”本应在“0”上面,显示时却是在“0”的下方。另外,X轴值以Categories属性进行设置的,在数据过多的时候,设置了Rotation为-90,目前该Categories值在显示时,与图表有所重叠。由于我是第一次使用HighCharts,实现时也是根据效果,一个个去查属性试验出来的。这两个问题耗费了好长时间,都没有解决,目前时间很紧急,只要请各位高手帮忙。以下是代码chart=newHighcharts.Chart({chart:{renderTo:'container',//图表容器IddefaultSeriesType:'spline',//图表类型line,spline,area,areaspline,column,bar,pie,column,scatterinverted:false,//左右显示,默认上下正向。假如设置为true,则横纵坐标调换位置plotBackgroundColor:null,plotBorderWidth:null,zoomType:'y',spacingRight:2,//图表距右侧的位置spacingLeft:2,//图表距右侧的位置plotShadow:false},title:{text:"测试图表标题"//图表标题},//Y轴坐标标题labels:纵柱标尺yAxis:{min:-10,max:10,title:{enabled:false,text:''},labels:{formatter:function(){if(this.value==""||this.value==null){return'0';}if(parseInt(this.value)==0){return'1';}if(parseInt(this.value)>0){return'1E+'+this.value;}if(parseInt(this.value)<0){return'1E'+this.value;}}}},xAxis:{allowDecimals:false,//间隔不出现小数gridLineWidth:1,categories:['1Q/2008','2Q/2008','3Q/2008','4Q/2008','1Q/2009','2Q/2009','3Q/2009','4Q/2009','1Q/2010','2Q/2010','2Q/2011','3Q/2011'],labels:{rotation:-90,//坐标值显示的倾斜度formatter:function(){returnthis.value;}}},//当鼠标悬置数据点时的格式化提示tooltip:{formatter:function(){return'<b>'+this.series.name+'</b>:<br/>'+this.point.xTtile+';'+this.point.name;}},series:[{type:"line",//图表类型name:"测试图表名称",//图表名称data:[{name:'2.71E-06',xTtile:'1Q/2008',y:-5.56},{name:'2.71E-10',xTtile:'2Q/2008',y:-10},{name:'1E-03',xTtile:'3Q/2008',y:-3},{name:'2.78E-06',xTtile:'3Q/2009',y:-5.55615484484342},{name:'5.07E-10',xTtile:'4Q/2009',y:-9.29462379898524},{name:'4.72E-09',xTtile:'1Q/2010',y:-8.32581892918103},{name:'-6.95E-08',xTtile:'2Q/2010',y:-7.15820447353134},{name:'3.22E-06',xTtile:'2Q/2011',y:-5.49256070748956},{name:'-2.61E-07',xTtile:'3Q/2011',y:-6.5829935748812}]}]});
效果图[img=http://b212.photo.store.qq.com/psu?/efb55cf7-f6c9-4fe1-b76c-a12d829c5cc5/HWSDh3cwQaO4hltQsrexPK3X*w5VGY8HNocObYD3SgE!/b/YY0uXn7MZwAAYlFean7.ZgAA][/img]
解决方案
本帖最后由 bohe123 于 2011-09-06 18:32:15 编辑
解决方案二:
没有人知道答案么?如果明天还是这样的情况,那就只好结贴了。
解决方案三:
这里用这个控件的不多以到官方论坛里去问问看?。。
解决方案四:
那你就设置一下步长,间隔显示,不要全部罗列出来。
解决方案五:
楼主我想问问categories:['1Q/2008','2Q/2008','3Q/2008','4Q/2008','1Q/2009','2Q/2009','3Q/2009这个我可以动态添加数据吗?如果行?请问怎么添加
解决方案六:
顺便问个问题啊,如何过滤数据为0的坐标不显示在图形上啊?
解决方案七:
官方API:http://www.highcharts.com/ref/#series--dataParser
解决方案八:
官方API:http://www.highcharts.com/ref/#series--dataParser