写在前面,版本库:Ext JS Library 3.3.1
做图表的时候纵坐标很多值都是一样的,无意中发现下面的解决方法,自己测试是可以了,写出来以备后查,以便他人查看。其他版本没测试过。有兴趣的朋友可以自己测试。
var chartStore;//图表数据 Ext.onReady(function(){ //使用当前服务器的文件,如果没有这句话,默认会去adobe的站点取 Ext.chart.Chart.CHART_URL = ‘extjs/resources/charts.swf‘; var json_reader = new Ext.data.JsonReader( { idProperty : "pointName", root : ‘rows‘, totalProperty : "results", fields : [ { name : ‘pointName‘ }, { name : ‘faultCount‘, type : "int" }] }); //从后台取数据 chartStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ url : ‘loadColumnChart.do‘, method : ‘POST‘ }), reader : json_reader }); chartStore.reload(); //柱状图面板 var columnchartPanel = new Ext.Panel({ border :false, autoScroll : true, //title : ‘设备测点故障记录统计图‘, frame : true, renderTo : document.body, width: 800, height: 240, layout : ‘fit‘, items : { xtype : ‘columnchart‘, // 类型 store : chartStore, xField : ‘pointName‘, // X轴取值 yField : ‘faultCount‘, // Y轴取值 yAxis : new Ext.chart.NumericAxis({ displayName : ‘faultCount‘ //labelRenderer : Ext.util.Format.numberRenderer(‘0,0‘)//关键问题是这句,我把这句注释了就正常了 }), tipRenderer : function(chart, record) { return record.data.pointName + ‘的故障次数为:‘ + Ext.util.Format.number(record.data.faultCount, ‘0,0‘); }, series : [ {//列 type : ‘column‘, //类型可以改变(线)line displayName : ‘faultCount‘, yField : ‘faultCount‘, style : { color : 0x99BBE8 } }] } }); //柱状图面板 var leftPanel = new Ext.Panel({ title: ‘柱状图‘, region:‘west‘, margins: ‘5 0 0 0‘, cmargins: ‘5 5 0 0‘, width: 850, minSize: 700, maxSize: 850, autoScroll:true,//设为true则内容溢出的时候产生滚动条,默认为false collapsible: true,//允许收缩 items: columnchartPanel }); });
1.解决前:
2.解决后: