寫在前面,版本庫: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.解決后: