學習Echart 2.2.7
<!--
Echart 2.2.7
http://echarts.baidu.com/echarts2/doc/example/force1.html#macarons
https://github.com/apache/incubator-echarts
https://github.com/apache/incubator-echarts/releases?after=2.2.7 Force力导向图实现节点可折叠
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="ECharts">
<meta name="author" content="geovindu@gmail.com">
<title>Force力导向图实现节点可折叠 ECharts · Example</title>
</head>
<body>
<div id="main" style="width: 850px; height: 500px"></div>
<div id="ss" ></div>
<script src="build/dist/echarts.js"></script>
<script type="text/javascript">
require.config({
paths : {
echarts : 'build/dist', //echarts文件路径
theme: 'theme/',
theme2: 'theme/' }
});
require([ "echarts", //和实际文件径无关,只是一个对象
'theme/blue', //样式
"echarts/chart/force" ], function(ec,theme) {
var myChart = ec.init(document.getElementById('main'), 'macarons',theme);
var option = {
title: {
text: '大学概况',//主标题
subtext: '组成部分',//副标题
top: 'top',//相对在y轴上的位置
left: 'center'//相对在x轴上的位置
},
tooltip : {
show : false
},
toolbox: { //显示工具条
show: true,
feature : {
restore : {show: true},
magicType: {show: true, type: ['force', 'chord']},
saveAsImage : {show: true}
} }, series : [ {
type : 'force',
name : "Force tree",
itemStyle : {
normal : {
label : {show : true},
nodeStyle : {
brushType : 'both',
borderColor : 'rgba(255,215,0,0.4)',
borderWidth : 1
}
}
},
categories : [ {name : '学校'}, {name : '校区'}, {name : '学院'}, {name : '班级'} ],
nodes :
[{id:0,category:0,name:'0',label:'北京理工大学',symbolSize:40,ignore:false,flag:true},
{id:1,category:1,name:'1',label:'海淀校区',symbolSize:30,ignore:true,flag:true},
{id:2,category:2,name:'2',label:'理工学院',symbolSize:20,ignore:true,flag:true},
{id:3,category:2,name:'3',label:'经管学院',symbolSize:20,ignore:true,flag:true},
{id:4,category:1,name:'4',label:'珠海校区',symbolSize:30,ignore:true,flag:true},
{id:5,category:2,name:'5',label:'法学院',symbolSize:20,ignore:true,flag:true},
{id:6,category:2,name:'6',label:'文学院',symbolSize:20,ignore:true,flag:true},
{id:7,category:2,name:'7',label:'理学院',symbolSize:20,ignore:true,flag:true},
{id:8,category:1,name:'8',label:'朝阳校区',symbolSize:30,ignore:true,flag:true},
{id:9,category:2,name:'9',label:'计算机科学学院',symbolSize:20,ignore:true,flag:true},
{id:10,category:2,name:'10',label:'工学院',symbolSize:20,ignore:true,flag:true},
{id:11,category:2,name:'11',label:'艺术学院',symbolSize:20,ignore:true,flag:true},
{id:12,category:2,name:'12',label:'医学院',symbolSize:20,ignore:true,flag:true},
{id:13,category:3,name:'13',label:'一班',number:45,techear:'张三',symbolSize:10,ignore:true,flag:true},
{id:14,category:3,name:'14',label:'二班',number:52,techear:'李四',symbolSize:10,ignore:true,flag:true}
],
links : [ {source : 1,target : 0}, {source : 4,target : 0}, {source : 8,target : 0},
{source : 2,target : 1}, {source : 3,target : 1}, {source : 5,target : 4},
{source : 6,target : 4}, {source : 7,target : 4}, {source : 9,target : 8},
{source : 10,target : 8}, {source : 11,target : 8}, {source : 12,target : 8},
{source : 13,target : 6}, {source : 14,target : 6} ]
} ]
};
myChart.setOption(option);
var ecConfig = require('echarts/config'); //和实际文件径无关,只是一个对象
function openOrFold(param) {
var option = myChart.getOption();
var nodesOption = option.series[0].nodes;
var linksOption = option.series[0].links;
var data = param.data;
var linksNodes = []; var categoryLength = option.series[0].categories.length; if (data.category == (categoryLength - 1)) {
alert(data.label);
} if (data != null && data != undefined) {
if (data.flag) { for ( var m in linksOption) { if (linksOption[m].target == data.id) {
linksNodes.push(linksOption[m].source);
}
}
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;
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;
}
}
nodesOption[data.id].flag = true;
myChart.setOption(option);
}
}
}
myChart.on(ecConfig.EVENT.CLICK, openOrFold);
});
</script> </body>
</html>
學習Echart 2.2.7的更多相关文章
- 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(3)
		
作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uIma ...
 - 開博客了, 因為搞Delphi 開發的關於Delphi學習
		
開博客了, 因為搞Delphi 開發的關於Delphi學習,之前都是用本地TXT文件保存,發現在本地電腦保存非常不方面,而且只能在一台電腦上保存,不容易查看和修改內容.便於以後的記錄只用,以及經驗交流 ...
 - Markdown 學習
		
Markdown 格式由John Gruber 創建,是一種便於閱讀,非常簡潔直觀的純文本文件格式,可以方便地轉為html等其他格式,很適合與寫作,不需要關注排版問題 常用學習資源有: ###標題用 ...
 - 無心插柳的Linux學習者代言人——蔡德明
		
誰是「蔡德明」恐怕沒有多少人知道,不過提到「鳥哥」這個稱號,在臺灣的Linux社群幾乎是無人不知無人不曉,蔡德明正是鳥哥的本名.鳥哥究竟多有名? 如果你是有意學習Linux的初學者,卻不知如何下手,1 ...
 - Linux网络设备驱动架構學習(三)
		
Linux网络设备驱动架構學習(三) 接下來會從以下幾個方面介紹網絡設備驅動的編寫流程: 1.網絡設備的註冊與註銷 2.網絡設備的初始化 3.網絡設備的打開與釋放 4.網絡數據發送流程 5.網絡數據接 ...
 - 學習 DT device tree 以 ST 的開發板  STM32F429i-disc1 為例
		
目標 因為對 device tree 不是很熟悉, 所以就將 device tree, 設為學習目標. 啟動 注意, 這篇隨筆的解說都放在最下面,會標 Explanation_XX,只要搜尋 Expl ...
 - 機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总
		
大家好,我是Mac Jiang,非常高兴您能在百忙之中阅读我的博客!这个专题我主要讲的是Coursera-台湾大学-機器學習基石(Machine Learning Foundations)的课后习题解 ...
 - 機器學習基石 (Machine Learning Foundations)  作业1  Q15-17的C++实现
		
大家好,我是Mac Jiang.今天和大家分享Coursera-台湾大学-機器學習基石 (Machine Learning Foundations) -作业1的Q15-17题的C++实现. 这部分作业 ...
 - Gazebo機器人仿真學習探索筆記(二)基本使用說明
		
在完成Gazebo7安裝後,需要熟悉Gazebo,方便之後使用. 部分源代碼可以參考:https://bitbucket.org/osrf/gazebo/src/ 如果還沒有安裝請參考之前內容完成安裝 ...
 
随机推荐
- Unix时间戳转日期时间格式,C#、Java、Python各语言实现!
			
之前有个Q上好友没事问我,怎么自己写Unix时间戳转日期时间?于是我就顺手写了个C#版本给他!最近想起来,就萌发多写几个语言的版本分享,权当练习思路外加熟悉另外两种语言. 先说转换步骤 先处理年份,从 ...
 - XCode 设置自定义环境变量
			
XCode 设置自定义环境变量 Product -> Scheme -> Edit Scheme -> 之后设置环境变量.
 - java之LinkedList详细介绍
			
1 LinkedList介绍 LinkedList简介 LinkedList 是一个继承于AbstractSequentialList的双向链表.它也可以被当作堆栈.队列或双端队列进行操作.Linke ...
 - 代码的重构(Refactor-Extract)
			
1.vs中的代码重构快捷方式:Refactor-Extract: 选中两个需要重构的部分完整代码,右击,选中Refactoe-Extract-Extract Method: 该选中的代码会自动形成一个 ...
 - Javascript高级编程学习笔记(7)——  函数
			
前几天有事耽搁了,今天继续更新 今天的主要内容是JS中的函数 这一篇主要讲函数的定义等内容,至于变量提升.执行环境.闭包.内存回收等内容在后面讲,高玩们可以不用看下面的正文了. 函数 首先来讲,函数对 ...
 - 三种实现Android主界面Tab的方式
			
在平时的Android开发中,我们经常会使用Tab来进行主界面的布局.由于手机屏幕尺寸的限制,合理使用Tab可以极大的利用屏幕资源,给用户带来良好的体验.学会Tab的使用方法已经成为学习Android ...
 - Java学习笔记49(DBUtils工具类二)
			
上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...
 - MySQL:事务的隔离性
			
[参考文章]:数据库的事务特性及隔离级别 1. 事务的四大特性 1.1 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用 ...
 - javaScript 物体多形态改变加回调函数
			
小方块同时改变 width height top left opacity(透明度) 加回调函数 改变第二个方块. 效果如下: <!DOCTYPE html> <html lang ...
 - C语言中几个常用数学计算函数ceil(), floor(), round()的用法
			
最近在实现算法的过程中,遇到了使用几个数学计算函数,感觉挺有意思,就记下来 方便以后使用. ceil(x)返回不小于x的最小整数值(然后转换为double型). floor(x)返回不大于x的最大整数 ...