vue 集成 vis-network 实现网络拓扑图的方法


Posted in Javascript onAugust 07, 2019

vis.js  网站

https://visjs.org/

vs  code 下安装命令

npm install vis-network

在vue  下引入 vis-network组件

const vis = require("vis-network/dist/vis-network.min.js");
require("vis-network/dist/vis-network.min.css");

例子代码使用

let DIR = "/jtopo/";
let nodes = [
{ id: 1, shape: "circularImage", image: DIR + "server.png" },
{ id: 2, shape: "circularImage", image: DIR + "server.png" },
{ id: 3, shape: "circularImage", image: DIR + "server.png" },
{
id: 4,
shape: "circularImage",
image: DIR + "gather.png",
label: "pictures by this guy!"
},
{ id: 5, shape: "circularImage", image: DIR + "wanjet.png" },
{ id: 6, shape: "circularImage", image: DIR + "center.png" },
{ id: 7, shape: "circularImage", image: DIR + "cloud.png" },
{ id: 8, shape: "circularImage", image: DIR + "center.png" },
{ id: 9, shape: "circularImage", image: DIR + "wanjet.png" },
{ id: 10, shape: "circularImage", image: DIR + "gather.png" }
// { id: 11, shape: "circularImage", image: DIR + "11.png" },
// { id: 12, shape: "circularImage", image: DIR + "12.png" },
// { id: 13, shape: "circularImage", image: DIR + "13.png" },
// { id: 14, shape: "circularImage", image: DIR + "14.png" },
// {
// id: 15,
// shape: "circularImage",
// image: DIR + "missing.png",
// brokenImage: DIR + "missingBrokenImage.png",
// label: "when images\nfail\nto load"
// },
// {
// id: 16,
// shape: "circularImage",
// image: DIR + "anotherMissing.png",
// brokenImage: DIR + "9.png",
// label: "fallback image in action"
// }
];
let edges = [
{ from: 1, to: 4 },
{ from: 2, to: 4 },
{ from: 3, to: 4 },
{ from: 4, to: 5 },
{ from: 5, to: 6 },
{ from: 6, to: 7 },
{ from: 8, to: 7 },
{ from: 9, to: 8 },
{ from: 10, to: 9 }
// { from: 8, to: 10 },
// { from: 10, to: 11 },
// { from: 11, to: 12 },
// { from: 12, to: 13 },
// { from: 13, to: 14 },
// { from: 9, to: 16 }
];
for (let i = 1; i <= 100; i++) {
num = i + 10;
nodes.push({
id: num,
label: num.toString()
});
edges.push({ from: num, to: 10 });
}
let data = {
nodes: nodes,
edges: edges
};
let container = document.getElementById("mynetwork");
//let options = {};
let options = {
nodes: {
font: {
color: "white", //字体的颜色
size: 30 //显示字体大小
},
scaling: {
min: 16,
max: 32 //缩放效果比例
},
borderWidth: 0,
color: {
border: "white",
background: "white" //若是引用图标,背景颜色
}
},
groups: {
ws: {
//系统定义的形状 dot等 这些官网都可以找到
shape: "dot",
color: "white"
}
},
edges: {
//连接线的样式
color: {
color: "white",
highlight: "white",
hover: "#848484",
inherit: "from",
opacity: 1.0
}
},
layout: {
randomSeed: 1 //配置每次生成的节点位置都一样,参数为数字1、2等
},
physics: {
// barnesHut: { gravitationalConstant: -30000 },
barnesHut: {
gravitationalConstant: -80000,
springConstant: 0.001,
springLength: 200
},
stabilization: false
//{ iterations: 2500 }
},
interaction: {
// navigationButtons: true,
hover: true, //鼠标移过后加粗该节点和连接线
selectConnectedEdges: false, //选择节点后是否显示连接线
hoverConnectedEdges: false, //鼠标滑动节点后是否显示连接线
tooltipDelay: 200,
zoomView: true //是否能缩放画布
},
edges: {
shadow: true, //连接线阴影配置
smooth: true //是否显示方向箭头
// arrows: {to : true }//箭头指向from节点
}
};
that.network = new vis.Network(container, data, options);
that.network.on("click", function(params) {});

设置 stabilization: false  可以快速生成10000个节点

总结

以上所述是小编给大家介绍的vue 集成 vis-network 实现网络拓扑图的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
仿迅雷焦点广告效果(JQuery版)
Nov 19 Javascript
测试你的JS的掌握程度的代码
Dec 09 Javascript
javascript 实现简单的table排序及table操作练习
Dec 28 Javascript
高效率JavaScript编写技巧整理
Aug 23 Javascript
JS的Document属性和方法小结
Sep 17 Javascript
js实现html table 行,列锁定的简单实例
Oct 13 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
Oct 25 Javascript
javascript九宫格图片随机打乱位置的实现方法
Mar 15 Javascript
JavaScript 实现 Tab 点击切换实例代码
Mar 25 Javascript
微信小程序系列之自定义顶部导航功能
May 21 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 Javascript
js实现简易点击切换显示或隐藏
Nov 29 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
Aug 07 #Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
Aug 07 #Javascript
javascript for循环性能测试示例
Aug 07 #Javascript
弱类型语言javascript中 a,b 的运算实例小结
Aug 07 #Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 #Javascript
vue+element项目中过滤输入框特殊字符小结
Aug 07 #Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
Aug 07 #Javascript
You might like
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
2009/06/08 PHP
php对数组排序的简单实例
2013/12/25 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
Ext.MessageBox工具类简介
2009/12/10 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
2014/01/09 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
node.js中的fs.open方法使用说明
2014/12/17 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
基于Vuejs的搜索匹配功能实现方法
2018/03/03 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
详解利用eventemitter2实现Vue组件通信
2019/11/04 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中几种操作字符串的方法的介绍
2015/04/09 Python
Python实现的数据结构与算法之队列详解
2015/04/22 Python
Python 12306抢火车票脚本
2018/02/07 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
python中的数据结构比较
2019/05/13 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
python利用opencv实现颜色检测
2021/02/23 Python
美国第一个网上卖鞋零售商:OnlineShoes.com
2017/09/24 全球购物
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
家长会主持词
2014/03/26 职场文书
大学开学计划书
2014/04/30 职场文书
推广活动策划方案
2014/08/23 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang