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.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
May 20 jQuery
jQuery实现动态删除LI的方法
May 30 jQuery
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
Aug 17 jQuery
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
jQuery Migrate 插件用法实例详解
May 22 jQuery
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 jQuery
jquery实现上传文件进度条
Mar 26 jQuery
jQuery实现电梯导航模块
Dec 22 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 smtp实现发送邮件功能
2017/06/22 PHP
js获取当前select 元素值的代码
2010/04/19 Javascript
JS 实现完美include载入实现代码
2010/08/05 Javascript
Javascript中的默认参数详解
2014/10/22 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
深入浅析Vue中的Prop
2018/06/10 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
微信小程序如何获取群聊的openGid以及名称详解
2019/07/17 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
python解析文件示例
2014/01/23 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
Python 从一个文件中调用另一个文件的类方法
2019/01/10 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
2014年父亲节活动方案
2014/03/06 职场文书
2014年清明节寄语
2014/04/03 职场文书
产品委托授权书范本
2014/09/16 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
Go语言空白表示符_的实例用法
2021/07/04 Golang
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python