zoukankan      html  css  js  c++  java
  • echarts柱状图的学习01

    因为公司技术需要所以在学习echarts,实际上官方网站上的API还有文档已经写得很详细了,不过在实际开发中还是很灵活的,所以每个组件和功能都需要慢慢接受,需求什么样子再去找什么样的功能就好了。

    首先下面的例子进行分析和代码实现。官方网站http://echarts.baidu.com/examples/

    目前导入标签仅此一个就可以实现以上功能了,我导入的是仓库的js,大家可以自行下载demo中的js导入

    <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
           
    具体代码实现我在代码中注释详解。
    <body> 
    	<div id="cwjs_chart" style=" 50%;height: 200%"></div>
    </body>
    <script type="text/javascript">
    	/*  数据的value,实际开发中可以传过来一个集合进行接收   data=${myData} */
       	var data=[11111111,22222222,33333333,44444444,55555555,66666666];   
    	/*  初始化容器 通过echarts.init方法,并且把它变成一个实例,在后续代码中可能用到*/
    	var cwjs_chart = echarts.init(document.getElementById('cwjs_chart'));
    	/*  页面加载时候的等待信息 类似 loading···,格式是固定的  可以自己进行调试看看什么效果,这里使用的是官方的*/
    	cwjs_chart.showLoading({
    		text : '数据获取中',
    		color : '#c23531',
    		textColor : '#000',
    		maskColor : 'rgba(255, 255, 255, 0.6)',
    		zlevel : 0
    	});
    	/*  配置一下option格式 然后通过上面的echarts实例调用setOption直接配置  后面有讲解*/
    	var cw_option = {
    	/*  提示组件     类似于鼠标移动上去出现个提示*/
    		tooltip : {
    	/*  触发类型   */		
    			trigger : 'axis',
    			axisPointer : { // 坐标轴指示器,坐标轴触发有效
    				/*  shadow 是阴影柱状  就是上图中的鼠标位置,如果是line形式 阴影变成一条竖线了*/
    				type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
    			},
    		},
    		/* 网格上绘制折线图,柱状图,散点图(气泡图)   这里我们用的是柱状图*/
    		grid : {
    			top : '10px',
    			left : '1px',
    			right : '1px',
    			bottom : '20px',
    		},
    		/* X轴的相关配置
    		type中
    		可选:
    		'value' 数值轴,适用于连续数据。
    		'category' 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据。
    		'time' 时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。
    		'log' 对数轴。适用于对数数据。
    		*/
    		xAxis : {
    			type : 'category',
    			axisLine: {
    				show: true,
    				/*  坐标轴轴线相关设置   不用我讲你也能看得懂下面的配置*/
    				lineStyle: {
    					color: '#7F96CC',
    					 1,
    					type: 'solid',
    					},
    			},
    			/*  分割线是否显示*/
    			splitLine : {
    				show : false,
    			},
    			axisLabel : {
    				color : '#333',
    				fontStyle : 'normal',
    				fontWeight : 'normal',
    				fontFamily : '微软雅黑',
    				fontSize :11,
    			},
    			/*  给出的数据data也就是myData长度数量和意思,一定要对象上下面的配置否则提示可能会出现问题  */
    			data : [ "耗材收入", "收费耗材支出","收费耗材出库","非收费耗材出库","试剂出库","医疗服务收入"]
    		},
    		/*  Y轴配置
    			意思与X轴大致相同
    		*/
    		yAxis : {
    			type: 'value',
    	        axisLine: {
    				show: true,
    				lineStyle: {
    					color: '#7F96CC',
    					 1,
    					type: 'solid',
    					},
    			},
    			splitLine: {
    				show: true,
    				lineStyle: {
    					color: '#7F96CC',
    					 1,
    					type: 'dotted',
    				},
    			},
    			axisLabel : {
    				show: false
    			}
    		},
    		/*  柱条的最大宽度,不设时自适应。支持设置成相对于类目宽度的百分比。*/
    		barWidth : 40,
    		/*  系列列表。每个系列通过 type 决定自己的图表类型
    			bar就是柱状图*/
    		series : [ {
    			type : 'bar',
    			/*  图形样式。*/
    			itemStyle : {
    				/*  每个柱子的颜色配置对应上柱子的数量*/
    				normal : {
    					color : function(params) {
    						var colorList = [ '#1ab394', '#f56161',
    								'#08a3f0', '#fdbd4f',
    								'#1ab394', '#f56161' ];
    						return colorList[params.dataIndex]
    					},
    				}
    			},
    			label : {
    				normal : {
    					show : true,
    					position : 'top',
    					/*  循环data数据也就是myData  格式需要自己定义,这里是四舍五入 除1W + '万'*/
    					formatter : function(params) {
    						var n = params.value;
    						if (n > 0) {
    							n = Math.round(n / 10000);
    							return n + "万";
    						} else {
    							return "暂无数据";
    						}
    					}
    				},
    			},
    			/*  最上面的data 也就是后台传入的myData  回调函数formatter会自动调用它*/
    			data : data
    		} ]
    	};
    	/*  吧写好的配置用实例调用方法设置进去*/
    	cwjs_chart.setOption(cw_option);
            /* 取消显示加载 否在会出现一致加载壮阔,下面有图例,对应得有显示加载showLoading 会一致卡在加载不动*/
    	cwjs_chart.hideLoading(); 
    </script>
    
    
    

    如图:


    一值在loading。

    上面就是简单的配置echarts 柱状图形了  因为都是模板 所以改变只需要改变data 或者显示的style就可以。



  • 相关阅读:
    移动硬盘插入电脑后检测到却不显示如何解决?
    Js求角度、三角形、弧度计算
    Python之常用模块(一)
    PostgreSQL中的MVCC 事务隔离
    520了,用32做个简单的小程序
    “TensorFlow 开发者出道计划”全攻略,玩转社区看这里!
    MySQL 返回未包含在group by中的列
    《Mysql日志备份/恢复》大型详细攻略两万字图解(史上最详细,多图)
    年轻就该多尝试,教你20小时Get一项新技能
    Flutter开发指南之理论篇:Dart语法05(单线程模型,事件循环模型,Isolate)
  • 原文地址:https://www.cnblogs.com/liclBlog/p/15349587.html
Copyright © 2011-2022 走看看