当eChart的Y轴必须是整数时,对原echarts_common.js进行补充

JS:

setCharts('charts',options,true);]


ECHARTS_COMMON.JS:

//在初始化echart的Y轴时,对其间隔和最小间隔数进行判断和指定,重写原Item_yAxis方法


//新增字段isLength,用来判断是否进入整数判断,如果Y轴必须要整数的话,设置为true
function setCharts(charts,options,isLength) {


var  myChart = echarts.init(document.getElementById(charts),'shine');
myChart.showLoading(); 
option.xAxis.data = options[0].xAxis;
codes = options[0].codes;
var series_arr=options[0].series;
var yAxis_arr= options[0].yAxis;
for (var j=0;j<options[0].yAxisCount;j++) {
var it =null;
//如果必须是整数则传入图表数值进行判断
if(isLength==true){
it = new Item_yAxis(series_arr,j);  
}else{
it = new Item_yAxis1();  
}

it.name = yAxis_arr[j];
option.yAxis[j] = it;
}

option.legend.data = options[0].legend;



$.each(series_arr, function(i, item) {
if (item.stack != null && item.stack != "") {
var it = new Item1(); 
it.stack = item.stack;
} else {
var it = new Item(); 
}
it.name = item.name;
it.yAxisIndex=item.yAxisIndex;
if (item.barWidth != null && item.barWidth != "") {
it.barWidth = item.barWidth;
} else {
it.barWidth = "20%"; 
       
}
it.data = item.data;
   option.series[i] = it;     
});
myChart.hideLoading();
myChart.setOption(option);
myChart.on('click', function (params) {
onclick(codes[params.dataIndex],params.seriesIndex);
//    window.open('https://www.baidu.com/s?wd=' + encodeURIComponent(params.name));
});
}


//需要规定Y轴没有小数的
var Item_yAxis = function(series_arr,index){  
var length=10;//默认初始Y轴分隔为10
//判断series_arr是否传入,传入说明确定要按整数判断
if(series_arr!=null && series_arr!=''){
var changeLength=true;//更改间隔数
var maxLength=0;//图表最大值
//循环图表值
$.each(series_arr[index].data, function(i, item) {
//如果图表有值大于10,则直接跳出循环,按照10的间隔显示
if(item>=10){
changeLength=false;
}else if(item>maxLength){//否则按照图表的值更新最大显示间隔
maxLength=item;
}
return;
});
//如果判断为需要改变最大显示间隔,则将最大显示间隔更改
if(changeLength==true){
length=maxLength;
}
}

    return {  
    name:'',
        type : 'value',
    splitLine:{show: false},
    splitNumber:length,
    minInterval: 1//必须为整数,但是前提间隔必须大于等于图表最大值,不然还是会有小数
   
    }; 
};


//不需要规定Y轴没有小数的
var Item_yAxis1 = function(){  

    return {  
    name:'',
        type : 'value',
    splitLine:{show: false},
    splitNumber:10
   
    }; 
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值