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写的验证表单(实例讲解)
Jul 06 jQuery
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
jQuery 改变P标签文本值方法
Feb 24 jQuery
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
May 09 jQuery
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
jQuery实现简单的Ajax调用功能示例
Feb 15 jQuery
Jquery的autocomplete插件用法及参数讲解
Mar 12 jQuery
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
Mar 19 jQuery
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
May 12 jQuery
jQuery实现的记住帐号密码功能完整示例
Aug 03 jQuery
jQuery实现轮播图效果
Nov 26 jQuery
jquery插件懒加载的示例
Oct 24 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 面向对象 final类与final方法
2010/05/05 PHP
php empty()与isset()区别的详细介绍
2013/06/17 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
前端必学之PHP语法基础
2016/01/01 PHP
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
2014/10/31 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
实例解析Array和String方法
2016/12/14 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
Node 自动化部署的方法
2017/10/17 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
[00:55]2015国际邀请赛中国区预选赛5月23日——28日约战上海
2015/05/25 DOTA
Python break语句详解
2014/03/11 Python
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
python 调用钉钉机器人的方法
2019/02/20 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
火山动力Java笔试题
2014/06/26 面试题
奶茶店创业计划书范文
2014/01/17 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
Redis实现分布式锁的五种方法详解
2022/06/14 Redis