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导航条固定定位效果实例代码
May 26 jQuery
文本溢出插件jquery.dotdotdot.js使用方法详解
Jun 22 jQuery
jquery 一键复制到剪切板的实例
Sep 20 jQuery
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
jQuery分组选择器简单用法示例
Apr 04 jQuery
jquery树形插件zTree高级使用详解
Aug 16 jQuery
Jquery实现获取子元素的方法分析
Aug 24 jQuery
jQuery实现轮播图源码
Oct 23 jQuery
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 jQuery
jQuery擦除插件eraser使用方法详解
Jan 11 jQuery
Jquery ajax书写方法代码实例解析
Jun 12 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
如何在PHP中使用数组
2020/06/09 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
Python中的面向对象编程详解(上)
2015/04/13 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Flask教程之重定向与错误处理实例分析
2019/08/01 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
Collection和Collections的区别
2016/05/02 面试题
公务员平时考核实施方案
2014/03/11 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
优秀教研组申报材料
2014/12/26 职场文书
详解Python requests模块
2021/06/21 Python
python实现会员信息管理系统(List)
2022/03/18 Python