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 相关文章推荐
js继承 Base类的源码解析
Dec 30 Javascript
JQuery上传插件Uploadify使用详解及错误处理
Apr 27 Javascript
用Mootools获得操作索引的两种方法分享
Dec 12 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
Apr 02 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
Sep 03 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
Aug 27 Javascript
TinyMCE汉化及本地上传图片功能实例详解
May 31 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
Sep 15 Javascript
微信小程序 loading 详解及实例代码
Nov 09 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
Sep 07 Javascript
微信小程序常用赋值方法小结
Apr 30 Javascript
梳理一下vue中的生命周期
Dec 30 Vue.js
弱类型语言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
php中的依赖注入实例详解
2019/08/14 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
AngularJS  双向数据绑定详解简单实例
2016/10/20 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
详解JS数值Number类型
2018/02/07 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python时间整形转标准格式的示例分享
2014/02/14 Python
用Python设计一个经典小游戏
2017/05/15 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
Python异常继承关系和自定义异常实现代码实例
2020/02/20 Python
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
2015/12/03 面试题
关于逃课的检讨书
2014/01/23 职场文书
医药个人求职信范文
2014/01/29 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
维护民族团结心得体会2016
2016/01/15 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python
试了下Golang实现try catch的方法
2021/07/01 Golang