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 相关文章推荐
HTML页面如何象ASP一样接受参数
Feb 07 Javascript
Ext JS Grid在IE6 下宽度的问题解决方法
Feb 15 Javascript
JavaScript聚焦于第一个字段的代码
Oct 15 Javascript
javascript面向对象编程代码
Dec 19 Javascript
jQuery中多个元素的Hover事件解决方案
Jun 12 Javascript
使用documentElement正确取得当前可见区域的大小
Jul 25 Javascript
Jquery attr()方法 属性赋值和属性获取详解
Apr 15 Javascript
Bootstrap编写导航栏和登陆框
May 30 Javascript
浅谈javascript中的数据类型转换
Dec 27 Javascript
js DOM的事件常见操作实例详解
Dec 16 Javascript
Vue中component标签解决项目组件化操作
Sep 04 Javascript
vue-drawer-layout实现手势滑出菜单栏
Nov 19 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(6) 面向对象
2010/02/16 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
用PHP来计算某个目录大小的方法
2014/04/01 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
laravel 多图上传及图片的存储例子
2019/10/14 PHP
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
Python中方法链的使用方法
2016/02/23 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
英国IT硬件供应商,定制游戏PC:Mesh Computers
2019/03/28 全球购物
2014年作风建设心得体会
2014/10/22 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
Java 多线程并发FutureTask
2022/06/28 Java/Android