Echart3
来源:互联网 发布:广州红砖厂淘宝摄影 编辑:程序博客网 时间:2024/06/02 00:49
HTML代码:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"><title>PieChartDemo</title><link href="../css/all.css" rel="stylesheet" type="text/css"/></head><body><div class="container"> <div class="demo1">11</div> <div class="demo2"></div> <div class="demo3"></div> <div class="demo4"></div></div><script src="../common/jquery.min.js"></script><script src="../common/echarts.js"></script><script src="../js/pieJs.js"></script></body></html>
CSS代码:
body { margin: 0; padding: 0;}/***************//* Pie CSS *//***************/.container { display: grid; height: 100vh; width: 100vw; grid-template-rows: 1fr 4fr 4fr 1fr; grid-gap: 2px 2px; grid-template-columns: repeat(2, 50%);}.title { grid-row: 1/2; grid-column: 1/span 2; background: cornsilk;}.tail{ grid-row: 4; grid-column: 1/span 2; background: floralwhite;}.demo1{ grid-row: 2; grid-column: 1; background: cornflowerblue;}.demo2{ grid-row: 2; grid-column: 2; background: goldenrod;}.demo3{ grid-row: 3; grid-column: 1; background: azure;}.demo4{ grid-row: 3; grid-column: 2; background: aliceblue;}
JS代码:
$(function(){ paintPie();})/*绘制圆环图:该种方式是先渲染再加载数据;Echart是以数据为驱动的*/function paintPie(){ var pieChart = echarts.init($('.demo1')[0]);//JQuery=>DOM var rich = { yellow: { color: "#ffc72b", fontSize: 14, padding: [5, 4], align: 'center' }, total: { color: "#ffc72b", fontSize: 14, align: 'center' }, white: { color: "#fff", align: 'center', fontSize: 12, padding: [21, 0] }, blue: { color: '#49dff0', fontSize: 14, align: 'center' }, hr: { borderColor: '#0b5263', width: '100%', borderWidth: 1, height: 0, } } option = { tooltip: {//提示框,hover时提示信息,内容通过设置formatter trigger: 'item', //position: 'inside', formatter: '{d}', textStyle: { color: '#00ffff' } }, backgroundColor: '#136699',//画布背景颜色 title: { text:'学生总数', left:'center', top: '53%', textStyle:{ color:'#fff', fontSize:12, align:'center' } }, series: [{ name: '专业选课人数',//用于tooltip的显示 type: 'pie', radius: ['42%', '75%'], hoverAnimation: true,//hover时放大选中的扇区 hoverOffset: 5,//偏移量 avoidLabelOverlap: true,//防止标签重叠的策略 color: ['#c487ee', '#deb140', '#49dff0', '#034079', '#6f81da', '#00ffb4'], label: {//饼图图形上的文本标签 normal: {show: true}, }, labelLine: {//标签的视觉引导线样式 normal: { length: 55, length2: 0, lineStyle: { color: '#0b5263' } } }, silent: false,//图形是否不响应和触发鼠标事件,true时hoverAnimation无效 data: [] }] }; pieChart.showLoading(); //使用休眠函数只是为了更好的展示loding动画 setTimeout(function(){ $.get('http://127.0.0.1:8080/api/pie/demo1').done(function(data){ option.series[0].label.normal = { //模板变量有 {a}、{b}、{c}、{d},分别表示系列名,数据名,数据值,百分比。formatter: '{b}: {d}' //该实例需要结合富文本标签rich formatter: function(params, ticket, callback) { var total = 0; //总数量 var percent = 0; //占比 data.forEach(function(value, index, array) { total += value.value; }); percent = ((params.value / total) * 100).toFixed(1); return '{white|' + params.name + '}\n{hr|}\n{yellow|' + params.value + '}\n{blue|' + percent + '%}'; }, rich: rich }; option.series[0].data = data; pieChart.setOption(option); pieChart.hideLoading(); }) },1000); /* 动画效果,通过事件dispatchAction触发*/ var currentIndex = -1; setInterval(function () { var dataLen = option.series[0].data.length; // 取消之前高亮的图形 pieChart.dispatchAction({ type: 'downplay',//类型 seriesIndex: 0,//指定目标序列 dataIndex: currentIndex //当前被触发项的索引 }); if(currentIndex>=dataLen-1){ currentIndex = -1; } currentIndex = (currentIndex + 1); // 高亮当前图形 pieChart.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: currentIndex }); // 显示 tooltip pieChart.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: currentIndex }); }, 1000);}
JAVA接口代码:
package com.do1shoje.controller.echartServer;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.springframework.web.bind.annotation.CrossOrigin;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class DataController {@CrossOrigin@RequestMapping(value = "/api/pie/demo1")public List returnPieDemo1Data() {String[] name = {"计算机","高等数学","现代史","经济学原理","机器学"};int []value = {122,200,300,123,500};List list = new ArrayList();for(int i=0;i<5;i++) {Map m = new HashMap();m.put("name",name[i]);m.put("value", value[i]);list.add(m);}return list;}}
阅读全文
0 0
- Echart3
- echart3模拟迁徙
- echart3实用技巧整理
- Echart3.0报错的解决笔记
- 关于echart3地图下钻省市区县
- Echart3 如何获取地图的经纬度与页面坐标
- echart3.0正负图取数据java代码
- Echart3地图实现全球攻击态势感知图
- echart3图表的实际应用与简单示例
- vue 中使用echart3.0自适应文本框大小
- echart3.0 节点关系图,自定义提示。边上属性不显示的问题。
- Spring加载properties文件
- 惹毛程序员的十件事!需求变更居然不是排第一!
- Oracle定时任务
- JavaMail 邮件附件名乱码问题 (长度问题)
- Spring框架分为哪七大模块
- Echart3
- 【常用函数使用总结】php $_SERVER相关常用
- Python核心团队计划2020年停止支持Python2,NumPy宣布停止支持计划表
- Centos创建sudo用户并且免输sudo密码
- AboutYun Resources
- Mybatis增强注解
- AES加密工具类
- 加密解密 签名验签学习笔记
- Canvas的使用