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类式继承的具体实现方法
Dec 31 Javascript
jquery each的几种常用的使用方法示例
Jan 21 Javascript
JS+CSS实现Div弹出窗口同时背景变暗的方法
Mar 04 Javascript
分分钟玩转Vue.js组件
Oct 25 Javascript
javascript实现右下角广告框效果
Feb 01 Javascript
js仿网易表单及时验证功能
Mar 07 Javascript
Axios学习笔记之使用方法教程
Jul 21 Javascript
JS交互点击WKWebView中的图片实现预览效果
Jan 05 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
Nov 28 Javascript
JS如何定义用字符串拼接的变量
Jul 11 Javascript
在Vue中使用Select选择器拼接label的操作
Oct 22 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
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
php和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
PHP中设置时区方法小结
2012/06/03 PHP
php实现下载限制速度示例分享
2014/02/13 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
javascript new后的constructor属性
2010/08/05 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
Python获取某一天是星期几的方法示例
2017/01/17 Python
python读文件的步骤
2019/10/08 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
英语系毕业生自荐信
2013/10/31 职场文书
店长职务说明书
2014/02/04 职场文书
检讨书格式范文
2015/05/07 职场文书
交通事故案件代理词
2015/05/23 职场文书
单位车辆管理制度
2015/08/05 职场文书