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 禁止鼠标右键并监听右键事件
Apr 27 jQuery
jQuery实现点击关注和取消功能
Jul 03 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
jQuery实现左右滑动的toggle方法
Mar 03 jQuery
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 jQuery
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
jQuery层叠选择器用法实例分析
Jun 28 jQuery
JQuery常用简单动画操作方法回顾与总结
Dec 07 jQuery
jQuery 实现扁平式小清新导航
Jul 07 jQuery
Jquery $.map使用方法实例详解
Sep 01 jQuery
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
Nov 09 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代码
2008/04/09 PHP
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
PHP内核探索:变量概述
2014/01/30 PHP
JCalendar 日历控件 v1.0 beta[兼容IE&amp;Firefox] 有文档和例子
2007/05/30 Javascript
jquery的$(document).ready()和onload的加载顺序
2010/05/26 Javascript
基于jquery的表格排序
2010/09/11 Javascript
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
jQuery对象的length属性用法实例
2014/12/27 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
Vue中的scoped实现原理及穿透方法
2018/05/15 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
原生js实现放大镜组件
2021/01/22 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
python实现逐个读取txt字符并修改
2018/12/24 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
标准版离职证明书
2014/09/12 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
2015党建工作简报
2015/07/21 职场文书
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers