123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- <!DOCTYPE html>
- <html lang="en">
- <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="kener.linfeng@gmail.com">
- <title>ECharts · Example</title>
- <link rel="shortcut icon" href="../asset/ico/favicon.png">
- <link href="../asset/css/font-awesome.min.css" rel="stylesheet">
- <link href="../asset/css/bootstrap.css" rel="stylesheet">
- <link href="../asset/css/carousel.css" rel="stylesheet">
- <link href="../asset/css/echartsHome.css" rel="stylesheet">
- <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
- <!--[if lt IE 9]>
- <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
- <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
- <![endif]-->
- <script src="./www/js/echarts.js"></script>
- <script src="../asset/js/codemirror.js"></script>
- <script src="../asset/js/javascript.js"></script>
- <link href="../asset/css/codemirror.css" rel="stylesheet">
- <link href="../asset/css/monokai.css" rel="stylesheet">
- </head>
- <body>
- <!-- Fixed navbar -->
- <div class="navbar navbar-default navbar-fixed-top" role="navigation" id="head"></div>
- <div class="container-fluid">
- <div class="row-fluid example">
- <div id="sidebar-code" class="col-md-4">
- <div class="well sidebar-nav">
- <div class="nav-header"><a href="#" onclick="autoResize()" class="glyphicon glyphicon-resize-full" id ="icon-resize" ></a>option</div>
- <textarea id="code" name="code">
- option = {
- title : {
- text: '人物关系:乔布斯',
- subtext: '数据来自人立方',
- x:'right',
- y:'bottom'
- },
- tooltip : {
- trigger: 'item',
- formatter: '{a} : {b}'
- },
- toolbox: {
- show : true,
- feature : {
- restore : {show: true},
- magicType: {show: true, type: ['force', 'chord']},
- saveAsImage : {show: true}
- }
- },
- legend: {
- x: 'left',
- data:['家人','朋友']
- },
- series : [
- {
- type:'force',
- name : "人物关系",
- ribbonType: false,
- categories : [
- {
- name: '人物'
- },
- {
- name: '家人'
- },
- {
- name:'朋友'
- }
- ],
- 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: 1.1,
- roam: 'move',
- nodes:[
- {category:0, name: '乔布斯', value : 10, label: '乔布斯\n(主要)'},
- {category:1, name: '丽萨-乔布斯',value : 2},
- {category:1, name: '保罗-乔布斯',value : 3},
- {category:1, name: '克拉拉-乔布斯',value : 3},
- {category:1, name: '劳伦-鲍威尔',value : 7},
- {category:2, name: '史蒂夫-沃兹尼艾克',value : 5},
- {category:2, name: '奥巴马',value : 8},
- {category:2, name: '比尔-盖茨',value : 9},
- {category:2, name: '乔纳森-艾夫',value : 4},
- {category:2, name: '蒂姆-库克',value : 4},
- {category:2, name: '龙-韦恩',value : 1},
- ],
- links : [
- {source : '丽萨-乔布斯', target : '乔布斯', weight : 1, name: '女儿'},
- {source : '保罗-乔布斯', target : '乔布斯', weight : 2, name: '父亲'},
- {source : '克拉拉-乔布斯', target : '乔布斯', weight : 1, name: '母亲'},
- {source : '劳伦-鲍威尔', target : '乔布斯', weight : 2},
- {source : '史蒂夫-沃兹尼艾克', target : '乔布斯', weight : 3, name: '合伙人'},
- {source : '奥巴马', target : '乔布斯', weight : 1},
- {source : '比尔-盖茨', target : '乔布斯', weight : 6, name: '竞争对手'},
- {source : '乔纳森-艾夫', target : '乔布斯', weight : 1, name: '爱将'},
- {source : '蒂姆-库克', target : '乔布斯', weight : 1},
- {source : '龙-韦恩', target : '乔布斯', weight : 1},
- {source : '克拉拉-乔布斯', target : '保罗-乔布斯', weight : 1},
- {source : '奥巴马', target : '保罗-乔布斯', weight : 1},
- {source : '奥巴马', target : '克拉拉-乔布斯', weight : 1},
- {source : '奥巴马', target : '劳伦-鲍威尔', weight : 1},
- {source : '奥巴马', target : '史蒂夫-沃兹尼艾克', weight : 1},
- {source : '比尔-盖茨', target : '奥巴马', weight : 6},
- {source : '比尔-盖茨', target : '克拉拉-乔布斯', weight : 1},
- {source : '蒂姆-库克', target : '奥巴马', weight : 1}
- ]
- }
- ]
- };
- var ecConfig = require('echarts/config');
- function focus(param) {
- var data = param.data;
- var links = option.series[0].links;
- var nodes = option.series[0].nodes;
- if (
- data.source !== undefined
- && data.target !== undefined
- ) { //点击的是边
- var sourceNode = nodes.filter(function (n) {return n.name == data.source})[0];
- var targetNode = nodes.filter(function (n) {return n.name == data.target})[0];
- console.log("选中了边 " + sourceNode.name + ' -> ' + targetNode.name + ' (' + data.weight + ')');
- } else { // 点击的是点
- console.log("选中了" + data.name + '(' + data.value + ')');
- }
- }
- myChart.on(ecConfig.EVENT.CLICK, focus)
- myChart.on(ecConfig.EVENT.FORCE_LAYOUT_END, function () {
- console.log(myChart.chart.force.getPosition());
- });
- </textarea>
- </div><!--/.well -->
- </div><!--/span-->
- <div id="graphic" class="col-md-8">
- <div id="main" class="main"></div>
- <div>
- <button type="button" class="btn btn-sm btn-success" onclick="refresh(true)">刷 新</button>
- <span class="text-primary">切换主题</span>
- <select id="theme-select"></select>
- <span id='wrong-message' style="color:red"></span>
- </div>
- </div><!--/span-->
- </div><!--/row-->
-
- </div><!--/.fluid-container-->
- <footer id="footer"></footer>
- <!-- Le javascript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="../asset/js/jquery.min.js"></script>
- <script type="text/javascript" src="../asset/js/echartsHome.js"></script>
- <script src="../asset/js/bootstrap.min.js"></script>
- <script src="../asset/js/echartsExample.js"></script>
- </body>
- </html>
|