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 相关文章推荐
JavaScript是否可实现多线程  深入理解JavaScript定时机制
Dec 22 Javascript
javascript判断用户浏览器插件安装情况的代码
Jan 01 Javascript
JS函数重载的解决方案
May 13 Javascript
JavaScript使用cookie实现记住账号密码功能
Apr 27 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
Jan 15 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
Jan 20 Javascript
jquery实现折叠菜单效果【推荐】
Mar 08 Javascript
彻底理解js面向对象之继承
Feb 04 Javascript
angularJS实现动态添加,删除div方法
Feb 27 Javascript
vuejs router history 配置到iis的方法
Sep 20 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
Nov 14 Javascript
vue+element UI实现树形表格
Dec 29 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微信公众平台示例代码分析(二)
2016/12/06 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
php xhprof使用实例详解
2019/04/15 PHP
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
使用jquery获取url及url参数的简单实例
2016/06/14 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
python3 实现验证码图片切割的方法
2018/12/07 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
python生成word合同的实例方法
2021/01/12 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
普通院校学生的自荐信
2013/11/27 职场文书
安全生产专项整治方案
2014/05/06 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
群教班子对照检查材料
2014/08/26 职场文书
入党函调证明材料
2015/06/19 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python