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插件FusionCharts绘制2D双折线图效果示例【附demo源码】
Apr 14 jQuery
使用jQuery ajaxupload插件实现无刷新上传文件
Apr 23 jQuery
jQuery使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
jQuery上传插件webupload使用方法
Aug 01 jQuery
jQuery实现form表单序列化转换为json对象功能示例
May 23 jQuery
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 jQuery
jQuery实现菜单的显示和隐藏功能示例
Jul 24 jQuery
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
jQuery treeview树形结构应用
Mar 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批量生成缩略图的代码
2008/07/19 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
php简单中奖算法(实例)
2017/08/15 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
js类后台管理菜单类-MenuSwitch
2007/09/12 Javascript
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
Jquery 在页面加载后执行的几种方式
2014/03/14 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
Python性能优化技巧
2015/03/09 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
2013/12/30 HTML / CSS
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
JAVA高级程序员面试题
2013/09/06 面试题
机电工程专业应届生求职信
2013/10/03 职场文书
求职推荐信范文
2013/12/01 职场文书
大学副班长竞选稿
2015/11/21 职场文书
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android