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轻松实现无缝轮播效果
Mar 22 jQuery
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
jQuery判断邮箱格式对错实例代码讲解
Apr 12 jQuery
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 jQuery
jQuery+ajax实现局部刷新的两种方法
Jun 08 jQuery
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
JQuery 选择器、DOM节点操作练习实例
Sep 28 jQuery
jQuery 禁止表单用户名、密码自动填充功能
Oct 30 jQuery
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
JQuery事件冒泡和默认行为代码实例
May 13 jQuery
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
Jquery使用each函数实现遍历及数组处理
Jul 14 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中的float类型使用说明
2010/07/27 PHP
PHP获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
php解决约瑟夫环示例
2014/04/09 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
jquery tools系列 expose 学习
2009/09/06 Javascript
js或css实现滚动广告的几种方案
2010/01/28 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
js实现图片实时时钟
2020/01/15 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
举例讲解Python中is和id的用法
2015/04/03 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
2015/07/30 Python
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
python实现按任意键继续执行程序
2016/12/30 Python
python字符串中的单双引
2017/02/16 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
Python tkinter事件高级用法实例
2018/01/31 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
python redis存入字典序列化存储教程
2020/07/16 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
实习单位推荐信范文
2013/11/27 职场文书
感恩教育活动总结
2014/05/05 职场文书
品质口号大全
2014/06/17 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
机器人总动员观后感
2015/06/09 职场文书
古诗之感恩老师
2019/10/24 职场文书