Vis.js – 基于浏览器的动态 JavaScript 可视化库

Vis.js 是一个动态的、基于浏览器的可视化库,可处理大量的动态数据并能与这些数据进行
交互操作。该项目是由Almende B.V公司开发的,包含 DataSet、Timeline和Graph组件。

Vis.js组件介绍:
数据集(DataSet):灵活的键/值。可添加、更新和删除项目。DataSet可以过滤和订制项目,转换项目领域。
数据视图(DataView):在DataSet过滤和/或格式化视图。
图表(Graph):显示图形或网络。
时间轴(Timeline):显示不同类型的时间轴上的数据。在时间轴上的时间和项可以交互移动、缩放及控制。

官方主页: http://visjs.org/ 项目文档: http://visjs.org/docs/index.html

创建一个简单的网络拓扑图

<!doctype html>
<html>
<head>
  <title>Network | Basic usage</title>

  <script type="text/javascript" src="../../dist/vis.js"></script>
  <link href="../../dist/vis-network.min.css" rel="stylesheet" type="text/css" />

  <style type="text/css">
    #mynetwork {
      width: 600px;
      height: 400px;
      border: 1px solid lightgray;
    }
  </style>
</head>
<body>

<p>
  Create a simple network with some nodes and edges.
</p>

<div id="mynetwork"></div>

<script type="text/javascript">
  // create an array with nodes
  var nodes = new vis.DataSet([
    {id: 1, label: 'Node 1'},
    {id: 2, label: 'Node 2'},
    {id: 3, label: 'Node 3'},
    {id: 4, label: 'Node 4'},
    {id: 5, label: 'Node 5'}
  ]);

  // create an array with edges
  var edges = new vis.DataSet([
    {from: 1, to: 3},
    {from: 1, to: 2},
    {from: 2, to: 4},
    {from: 2, to: 5},
    {from: 3, to: 3}
  ]);

  // create a network
  var container = document.getElementById('mynetwork');
  var data = {
    nodes: nodes,
    edges: edges
  };
  var options = {};
  var network = new vis.Network(container, data, options);
</script>


</body>
</html>

官方源码效果:http://visjs.org/examples/network/basicUsage.html
完成一个最简单的网络图,需要两个资源文件

  1. vis.js
  2. vis-network.min.css demo下载地址:https://github.com/nilzxq/visjs.git
    如上图所示,数据包括:nodes(节点)、edges(关系) 初始化网络图方法:
    var network = new vis.Network(container, data, options);
    其中,container为容器,data为数据,options为选项
    而最终展示的图片实际上是在html5的画布上的。

模块配置

enabled:boolean型参数,默认为true。用于切换配置界面的开关。
filter:类型可以为String、array、boolean、function。如果为boolean型,那么所有选项会
被显示,否则一个都不会显示。如果是一个String类型,那么可选项为nodes, edges,
layout, interaction, manipulation, physics, selection,
renderer。如果是一个数组,那么前面提到的字段可多选。如果是个方法,且返回true,那么
选项就会被展示。
container:容器
showButton:boolean型,是否显示按钮.

将options替换如下

var options = {
    configure: {
        enabled: true,
        filter: 'physics',
        container: undefined,
        showButton: true
    }
}

页面中会多出如下的配置:

此处输入图片的描述

参考博客:http://m.blog.csdn.net/html666/article/details/74370334 侵删