zoukankan      html  css  js  c++  java
  • echart-柱状图

     目前在改别人遗留的bug,需求:

    宽度 自适应的情况下 展示不友好:宽度太大

    上下不居中 需求 要 上下 无论是否 有内容 都要居中展示 以0刻度为标准

    宽度 设置

    	series: [
    				{
    					name: '已付金额',
    					type: 'bar',
    					stack: 'one',
    					color:'#7198d2',
    					itemStyle: itemStylet,
    					barCategoryGap:10,
    					data: data1,
    					barWidth:15  宽度15规定
    				},
    				{
    					name: '未付金额',
    					type: 'bar',
    					stack: 'one',
    					color:'#f09266',
    					itemStyle: itemStylett,
    					barCategoryGap:10,
    					data: data2
    				}
    			]

      

    高度调整

    原理:给 y轴 设置 最大值 ,最小值,最大值和最小值 为 数据中 最大值的绝对值  这样 canvas就会基于 0刻度线居中

    		yAxis: {
    				axisLabel:{
    					formatter:function (value, index) {
    						if(value<0){
    							return -value;
    						}else{
    							return value;
    						}
    					}
    				},
    				min:-getMaxMin(data1,data2),
    				max:getMaxMin(data1,data2)
    			},
    

      

    var data1 = [400,400,400,400];
    var data2 = [-400,-6000,-600,-1000,];

    	var num=0;
    		function getAbcArr(data2) {
    			var arr=[];
    			$.each(data2,function (i, v) {
    				arr.push(Math.abs(v))
    			})
    			return arr
    		}
    		function getMaxMin(data1, data2) {
    			var arr=data1.concat(getAbcArr(data2));
    			return Math.max.apply(null,arr)
    		}
    		getMaxMin(data1,data2)
    

      



    最后的效果图

     

     新bug ,明明没有设置最后一个x轴加粗,显示出来就是加粗了

    后来检查 发现时 这里的问题 

    interval: 0,// 0 强制显示所有,1为隔一个标签显示一个标签,2为隔两个
     axisLabel:{
                            interval: 0,// 0 强制显示所有,1为隔一个标签显示一个标签,2为隔两个
                            rotate: -25,//标签旋转角度,在标签显示不下的时可通过旋转防止重叠
                            textStyle: {
                                fontSize: 10,//字体大小
                            }
                        },
    

      

     由于字体比较多 所以对x轴显示 做了一些 配置 而interval:0导致了 这个bug

    这里 把这个直接注释 就可以解决,默认都显示。

  • 相关阅读:
    Cents 7 Kubernetes
    Docker registry
    centos 7 安装 docker
    ToList()所带来的性能影响
    C#之Linq、where()、FindAll()的区别
    2.2 数据库高速缓冲区
    ORACLE之autotrace使用
    spring.net简介
    初识批处理
    TIBCO Rendezvous — 技术介绍
  • 原文地址:https://www.cnblogs.com/GoTing/p/11083850.html
Copyright © 2011-2022 走看看