Echarts学习笔记
来源:互联网 发布:网络信息安全认证 编辑:程序博客网 时间:2024/06/08 03:20
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'echarts.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --><meta charset="UTF-8"></head><body> </div> <div id="main" style="width: 1000px; height: 750px"></div> <div class = "message" style="margin-left: 80%; margin-top: -40%; width: 200px; height: 300px;border:1px solid #F00;background-color:white;display:none" > <!-- <a id="close">x</a> --> 叙词名为:<span id="span1">原文</span> <br> <!-- <span id="span3">原文</span> --> 英文名为:<input id="span2"> </div> <script src="js/jquery-1.4.3.min.js"></script> <script src="http://echarts.baidu.com/build/dist/echarts.js"></script> <script type="text/javascript"> require.config({ paths : { echarts : 'http://echarts.baidu.com/build/dist' } }); require([ "echarts", "echarts/chart/force"], function(ec) { var i; var myData =${requestScope.aa }; if(myData.length>100) i = myData.length/100; else i = 1.1; // var x=${resquestScope.value}; //var myLink =${requestScope.aa }; var myChart = ec.init(document.getElementById('main'), 'macarons'); var option = { tooltip : { show : false }, tooltip : { trigger: 'item', formatter: '{a} : {b}' }, toolbox: { show : true, feature : { restore : {show: true}, magicType: {show: true, type: ['force', 'chord']}, saveAsImage : {show: true} } }, series : [ { type:'force', // edgeLength: 10, //默认距离 // repulsion: 10, //斥力 ribbonType: false, categories : [ ], itemStyle: { normal: { label: { show: true, textStyle: { color: '#333' } }, nodeStyle : { brushType : 'both', borderColor : 'rgba(255,215,0,0.4)', borderWidth : 1 }, linkStyle: { type: 'curve' } }, emphasis: { label: { show: false // textStyle: null // 默认使用全局文本样式,详见TEXTSTYLE }, nodeStyle : { //r: 30 }, linkStyle : { } } }, useWorker: false, minRadius : 15, maxRadius : 25, gravity: 1.1, scaling: i, roam: 'move', nodes :${requestScope.aa }, links :${requestScope.bb } } ] }; myChart.setOption(option); var ecConfig = require('echarts/config'); function openOrFold(param) { var option = myChart.getOption();//获取已生成图形的option var nodesOption = option.series[0].nodes;//获得所有节点数组 var linksOption = option.series[0].links;//获得所有连接的数组 var data = param.data;//表示当前选择的某一节点 var linksNodes = [];//中间变量 //var value=${requestScope.value }; var categoryLength = option.series[0].categories.length;//获取类别数组的大小 /* 该段代码判断当前节点的category是否为最终子节点, 如果是,则弹出该节点的label */ if (data.category == (0)) { //window.open =function () { //} } //添加点击事件 if (typeof param.seriesIndex == 'undefined') { return; } if (param.type == 'click') { $.ajax({ url:"findename", //服务器的地址 data:{"name":param.name}, //参数 dataType:"text", //返回数据类型 type:"POST", //请求类型 success:function(data){ var result = JSON.parse(data); //alert(result); /* $.each(data, function(index,values){ // 解析出data对应的Object数组 $.each(values,function(index2,value){ // 遍历Object数组 ,每个对象的值存放在value ,index2表示为第几个对象 // 根据自己的逻辑进行数据的处理 alert(value.name); // TODO: 逻辑 }); }); */ $("#span1").text(param.name); $("#span2").val(result); }, error:function(data){ alert(shibai); } }); $(".message").fadeIn(); $(".message").fadeIn("slow"); $(".message").fadeIn(3000); //$("#span2").text(param.name); } //判断是否选择到了连接线上 if (data != null && data != undefined) { /* 判断所选节点的flag 如果为真,则表示要展开数据, 如果为假,则表示要折叠数据 */ if (data.flag) { //遍历关系数组,最终获得所选节点的一层子节点 for ( var m in linksOption) { //父节点为当前节点 if (linksOption[m].target == data.id) { linksNodes.push(linksOption[m].source);//获得子节点数据 } } //遍历子节点数组,设置对应的option属性 if (linksNodes != null && linksNodes != undefined) { for ( var p in linksNodes) { nodesOption[linksNodes[p]].ignore = false;//设置展示该节点 nodesOption[linksNodes[p]].flag = true; } } nodesOption[data.id].flag = false;//设置该节点的flag为false,下次点击折叠子孙节点 myChart.setOption(option);//重新绘制 } else { for ( var m in linksOption) { /* 遍历连接关系数组,最终获得所选择节点的所有子节点 */ if (linksOption[m].target == data.id) {//父节点为当前节点 linksNodes.push(linksOption[m].source);//找到当前节点的第一层子节点 } if (linksNodes != null && linksNodes != undefined) { for ( var n in linksNodes) { //第一层子节点作为父节点,找到所有子孙节点 if (linksOption[m].target == linksNodes[n]) { linksNodes.push(linksOption[m].source); } } } } //遍历最终生成的连接关系数组 if (linksNodes != null && linksNodes != undefined) { for ( var p in linksNodes) { nodesOption[linksNodes[p]].ignore = true;//设置折叠该节点 nodesOption[linksNodes[p]].flag = true; $(".message").hide(); } } nodesOption[data.id].flag = true;//设置该节点的flag为true,下次点击展开子节点 myChart.setOption(option);//重绘 } } } myChart.on(ecConfig.EVENT.CLICK, openOrFold); }); </script></body></html>
重点在节点数组和关系数组
0 0
- Echarts学习笔记
- Echarts学习笔记~
- echarts-gl学习笔记
- ECharts学习笔记
- echarts学习笔记
- 学习笔记:使用echarts画图表
- ECharts实例开发学习笔记零
- ECharts实例开发学习笔记一
- ECharts 学习笔记(1)-HelloWorld
- Echarts 学习笔记--JQuery图表插件
- echarts学习—1(笔记)
- echarts笔记
- 笔记:Echarts
- 笔记:Echarts
- 笔记:Echarts
- 笔记:Echarts
- echarts学习
- echarts学习
- BVT测试与冒烟测试
- Android“保存ArrayList到本地”并”获取显示“(结合SharedPreferences)
- vxworks中vxbus使用入门
- PlayerPrefs使用
- 九九乘法表
- Echarts学习笔记
- valgrind内存泄漏检测详解
- Windows手动删除服务列表中残留服务的方法
- 2016年暑假总结
- 聊天界面之ListView
- 《Google C++ 编程风格指南》对于头文件的包含顺序
- linux常用环境变量和c/c++头文件/库路径环境变量
- C++指针的定义
- jQuery_解析xml文件