jquery使用echarts实现有向图可视化功能示例


Posted in jQuery onNovember 25, 2019

本文实例讲述了jquery使用echarts实现有向图可视化功能。分享给大家供大家参考,具体如下:

先来看看效果图:

jquery使用echarts实现有向图可视化功能示例

源码如下(force-directed-graph.html):

<!DOCTYPE html>
<html>
<head>
<meta charset="utf8"></meta>
<script src="http://cdn.bootcss.com/echarts/3.2.2/echarts.js"></script>
<script src="http://lib.sinaapp.com/js/jquery/1.10.2/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
  function draw(){
    var text = $("#graph-input").val();
    var data = eval(text);
    var graph = data2Graph(data);
    drawGraph(graph);
  }
  function data2Graph(data) {
    var graph = {}
    var vertices = {}
    var links = [];
    for (var i = 0; i < data.length; i++) {
      var s = String(data[i][0]);
      var t = String(data[i][1]);
      var v = data[i][2];
      vertices[s] = s;
      vertices[t] = t;
      links.push({'source' : s, 'target' : t, 'value' : v});
    }
    var nodes = [];
    $.each(vertices, function(k, v) {
      nodes.push({'name' : v, 'value' : v});
    });
    graph['links'] = links;
    graph['data'] = nodes;
    return graph;
  }
  function drawGraph(graph) {
    var myChart = echarts.init(document.getElementById("echarts-main"));
    var option = {
      tooltip: {},
      series : [
        {
          type: 'graph',
          layout: 'force',
          symbolSize: 30,
          edgeSymbol: ['none', 'arrow'],
          data: graph.data,
          links: graph.links,
          roam: true,
          label: {
            normal: {
              show: true,
              formatter: function (e) {
                return e['data']['value'];
              }
            }
          },
          edgeLabel: {
            normal: {
              show: true,
              position: 'middle'
            }
          },
          force: {
            repulsion: 1000,
            edgeLength: 200
          }
        }
      ]
    };
    myChart.setOption(option);
  }
  $(document).ready(function(){
    draw();
    $("#gen-btn").on("click", function(){
      draw();
    });
  });
</script>
</head>
<body>
<p>在下方文本框内输入有向图JSON([source, target, value]):</p>
<textarea id="graph-input" style="height:210px;width:500px">
[[0,1,10], [1,0,1], [1,2,5], [2,0,5]]
</textarea>
<p><button id="gen-btn">生成力导向图</button></p>
<div id="echarts-main" style="height:320px;width:500px;border:1px dashed;"></div>
</body>
</html>

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery中的deferred对象和extend方法详解
May 08 jQuery
jQuery+PHP+Mysql实现抽奖程序
Apr 12 jQuery
使用jQuery实现简单的tab框实例
Aug 22 jQuery
关于jquery layui弹出层的使用方法
Apr 21 jQuery
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
jquery更改元素属性attr()方法操作示例
May 22 jQuery
jQuery实现B2B网站后台管理系统侧导航
Jul 08 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
基于JQuery和DWR实现异步数据传递
Oct 16 jQuery
jQuery Raty星级评分插件使用方法实例分析
Nov 25 #jQuery
jquery 插件重新绑定的处理方法分析
Nov 23 #jQuery
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
Nov 18 #jQuery
Jquery让form表单异步提交代码实现
Nov 14 #jQuery
JQuery发送ajax请求时中文乱码问题解决
Nov 14 #jQuery
Jquery异步上传文件代码实例
Nov 13 #jQuery
jQuery实现滑动星星评分效果(每日分享)
Nov 13 #jQuery
You might like
php使用curl访问https示例分享
2014/01/17 PHP
PHP内核探索:变量概述
2014/01/30 PHP
php图片缩放实现方法
2014/02/20 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
csdn 批量接受好友邀请
2009/02/19 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
nodejs爬虫抓取数据之编码问题
2015/07/03 NodeJs
JS常用算法实现代码
2016/11/14 Javascript
EasyUI Combobox设置默认值 获取text的方法
2016/11/28 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
美国旅游网站:Tours4Fun
2017/02/17 全球购物
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
如何开启linux的ssh服务
2013/06/03 面试题
广州某公司软件工程师面试题
2014/12/22 面试题
客服服务心得体会
2013/12/30 职场文书
防沙治沙典型材料
2014/05/07 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
单位计划生育责任书
2015/05/09 职场文书
初级职称评定工作总结
2015/08/13 职场文书