echarts实现手机端课程数据统计tab选项卡柱状图、饼图、折线图切换效果代码
代码语言:html
所属分类:图表
代码描述:echarts实现手机端课程数据统计tab选项卡柱状图、饼图、折线图切换效果代码
代码标签: echarts 手机端 课程 数据 统计 tab 选项卡 柱状图 饼图 折线图 切换
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> <meta content="yes" name="apple-mobile-web-app-capable"> <meta content="black" name="apple-mobile-web-app-status-bar-style"> <style> ul,li,header{display:block;margin:0;padding:0;border:0;} body{ font-family: '微软雅黑'; color:#666;min-width: 320px;max-width:750px; margin: 0 auto; cursor:default; word-break:break-all; white-space:normal; -webkit-tap-highlight-color:rgba(255,255,255,0); font-size:0.24rem; background-color:#f5f5f5;} ul,li{ list-style: none} a{text-decoration:none;} /*iphone上的Safari解析input[typw="submit"]和input[type="submit"]按钮会以苹果浏览器默认的UI进行渲染,解决发放如下*/ input,input[type="button"],input[type="submit"],input[type="reset"]{-webkit-appearance: none;} /*header*/ .favor-header-bar{ background-color: #4781fe; padding: 0 1.1rem; overflow: hidden; height: 3.46rem; line-height: 3.46rem; border-bottom: 1px solid #e1e1e1; } .favor-header-bar p{ text-align: center; color: #fff; font-size: 1rem; line-height: 3.46rem; height: 3.46rem; margin: 0; } .tabClick{ background: #f3f3f3; overflow: hidden} .tabClick li{ height:3rem; line-height: 3rem; width: 33.33%; float: left; text-align: center;color: #999;} .tabClick li.active{ color: #4781fe; transition: 0.1s; font-weight: bold} .tabCon{ overflow: hidden} .tabBox{ position: relative} .tabList{ word-break: break-all; width:100%;float:left; /* line-height:100px; */ } .lineBorder{ height: 2px; overflow: hidden; border-bottom:1px solid #eee; background: #f3f3f3} .lineDiv{ background: #4781fe; height: 2px; width: 33.33%;} .statistics{ width: 100%; display: flex; flex-direction:row; justify-content:center; align-items:flex-end; color: #666; margin-top: 2rem; } .statistics li{ width: 50%; text-align:center; } .statistics .statmoney{ width: 33.333%; } .statistics .model{ height: 1.2rem; line-height: 1.2rem; color: #000; font-size:0.8rem; } #chart2{ margin-top: 0.8rem; } .timeyear{ width: 3rem; text-align: center; border-radius: 1rem; padding: 0.1rem 0.8rem; font-size: 0.88rem; color: #4781fe; border: 1px solid #4781fe; float: right; } .tabList .shijian{ padding: 0.6rem 1rem 0 1rem; height: 2rem; } .tabList .shijian .biaoti{ display: block; height: 2rem; line-height: 2rem; color: #000; float: left; } </style> </head> <body> <header class="favor-header-bar"> <p>数据中心</p> </header> <div class="wrap" id="wrap"> <ul class="tabClick"> <li class="active">到课统计</li> <li>学费统计</li> <li>学生统计</li> </ul> <div class="lineBorder"> <div class="lineDiv"></div> </div> <div class="tabCon"> <div class="tabBox"> <div class="tabList"> <div id="chart1" style="width: 80%;height: 260px;left: 10%;"></div> <ul class="statistics"> <li> <div class="model">18</div> <span>未到(人)</span> </li> <li> <div class="model">189</div> <span>已到(人)</span> </li> </ul> </div> <div class="tabList"> <div class="shijian"> <span></span> <div class="timeyear">2019</div> </div> <div id="chart2" style="width: 85%;height: 250px;left: 5%;"></div> <ul class="statistics"> <li class="statmoney"> <div class="model">¥<span>1889</span></div> <span>消费总额(元)</span> </li> <li class="statmoney"> <div class="model">¥<span>499</span></div> <span>学杂费(元)</span> </li> <li class="statmoney"> <div class="model">¥<span>1200</span></div> <span>生活费(元)</span> </li> </ul> </div> <div class="tabList"> <div class="shijian"> <span class="biaoti">学生</span> <div class="timeyear">2019</div> </div> <div id="chart3" style="width: 85%;height: 250px;left: 5%;"></div> <ul class="statistics"> <li> <div class="model">1063</div> <span>学生总数(人)</span> </li> <li> <div class="model">189</div> <span>今年新增(人)</span> </li> </ul> </div> </div> </div> </div> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/echarts.js"></script> <script charset="utf-8"> var chart1 = echarts.init(document.getElementById("chart1")); // 圆环图各环节的颜色 var color = ['#a5b7fd', '#597bfc', '#0035fb']; // 圆环图各环节的名称和值(系列中各数据项的名称和值) var data =[{ name: '任课教师', value: 18 },{ name: '到课学生', value: 100 },{ name: '未课学生', value: 8 }]; // 指定图表的配置项和数据 var option = { //背景色 backgroundColor: { // 背景颜色 type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [], globalCoord: false // 缺省为 false }, // 标题 title: [{ // text: '到勤统计', top:'5%', left:'3%', textStyle:{ color: '#000', fontSize:18, } }], // 图例 legend: { selectedMode:true, // 图例选择的模式,控制是否可以通过点击图例改变系列的显示状态。默认开启图例选择,可以设成 false 关闭。 itemWidth:15, itemHeight:15, textStyle: { // 图例的公用文本样式。 fontSize: 14, color: '#000' }, orient: 'horizontal', x: 'center', y : 'bottom', data: ['任课教师','到课学生','未课学生'], }, // 提示框 tooltip: { show: true, // 是否显示提示框 formatter: '{b} </br> 销量{c}件 </br> 占比{d}%' // 提示框显示内容,此处{b}表示各数据项名称,此项配置为默认显示项,{c}表示数据项的值,默认不显示,({d}%)表示数据项项占比,默认不显示。 }, // graphic 是原生图形元素组件。可以支持的图形元素包括:image, text, circle, sector, ring, polygon, polyline, rect, line, bezierCurve, arc, group, graphic: { type: 'text', // [ default: image ]用 setOption 首次设定图形元素时必须指定。image, text, circle, sector, ring, polygon, polyline, rect, line, bezierCurve, arc, group, top: 'center', // 描述怎么根据父元素进行定位。top 和 bottom 只有一个可以生效。如果指定 top 或 bottom,则 shape 里的 y、cy 等定位属性不再生效。『父元素』是指:如果是顶层元素,父元素是 echarts 图表容器。如果是 group 的子元素,父元素就是 group 元素。 left: 'center', // 同上 style: { // text: '数据对比', // 文本块文字。可以使用 \n 来换行。[ default: '' ] fill: '#fff', // 填充色。 fontSize: 16, // 字体大小 fontWeight: 'bold' // 文字字体的粗细,可选'normal','bold','bolder','lighter' } }, // 系列列表 series: [{ name: '圆环图系列名称', // 系列名称 type: 'pie', // 系列类型 center:['50%','50%'], // 饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标。[ default: ['50%', '50%'] ] radius: ['30%', '45%'], // 饼图的半径,数组的第一项是内半径,第二项是外半径。[ default: [0, '75%'] ] hoverAnimation: true, // 是否开启 hover 在扇区上的放大动画效果。[ default: true ] color: color, // 圆环图的颜色 label: { // 饼图图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等. normal: { show: true, // 是否显示标签[ default: false ] position: 'outside', // 标签的位置。'outside'饼图扇区外侧,通过视觉引导线连到相应的扇区。'inside','inner' 同 'inside',饼图扇区内部。'center'在饼图中心位置。 formatter: '{b} : {c}件' // 标签内容 } }, labelLine: { // 标签的视觉引导线样式,在 label 位置 设置为'outside'的时候会显示视觉引导线。 normal: { show: true, // 是否显示视觉引导线。 length: 15, // 在 label 位置 设置为'outside'的时候会显示视觉引导线。 length2: 10, // 视觉引导项第二段的长度。 lineStyle: { // 视觉引导线的样式 //color: '#000', //width: 1 } } }, data: data // 系列中的数据内容数组。 }] }; // 使用刚指定的配置项和数据显示图表 chart1.setOption(option); var chart_c1 = echarts.init(document.getElementById('chart2'));//指定的id要有高度和宽度 var dataMoney = [0, 100, 200, 300, 400, 500, 600, 700, 800];//y轴 var dataMouth = ['1','2','3','4','5','6','7','8','9','10','11','12'];//x轴 //显示数据,可修改 var data1 = [22, 24, 38, 43, 59, 25, 49, 34, 44, 34, 22, 46]; var data2 = [35, 46, 43, 59, 60, 45, 53, 42, 56, 45, 36, 59]; // 总计 var data3 = function() { var datas = []; for (var i = 0; i < data1.length; i++) { datas.push(data1[i] + data2[i]); } return datas; }(); option = { title: { // text: '费用统计', left: 'left', top: 'top', }, tooltip : { trigger: 'axis', axisPointer : { type : 'shadow' }, formatter:function (params){ var relVal = params[0].name+"<br/>"; relVal += params[0].seriesName+ ' : ' + params[0].value+"例子"+"<br/>"; relVal +=params[1].seriesName+ ' : ' +params[1].value+"<br/>"; // relVal += params[2].seriesName+ ' : ' + params[2].value+"%"; return relVal; } }, legend: { // orient: 'vertical', // x: 'center', // y: 'top', selectedMode:false, itemWidth:15, itemHeight:15, icon: 'circle', data:['生活费','学杂费'] }, grid: { left: '1%', right: '15%', bottom: '3%', containLabel: true }, xAxis : [ { type : 'category', axisLine:{ symbol:['none','arrow'], lineStyle:{ color:'#9b9b9b', } }, name: '月份', data : dataMouth, splitLine:{ show:false, }, } ], yAxis : [ { type : 'value', axisLine:{ .........完整代码请登录后点击上方下载按钮下载查看
网友评论0