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 相关文章推荐
window.location和document.location的区别分析
Dec 23 Javascript
csdn 批量接受好友邀请
Feb 19 Javascript
javascript 原型模式实现OOP的再研究
Apr 09 Javascript
JavaScript function 的 length 属性使用介绍
Sep 15 Javascript
jQuery修改class属性和CSS样式整理
Jan 30 Javascript
jquery中ajax使用error调试错误的方法
Feb 08 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
Sep 11 Javascript
javascript事件的绑定基础实例讲解(34)
Feb 14 Javascript
Bootstrap笔记之缩略图、警告框实例详解
Mar 09 Javascript
基于原生js运动方式关键点的总结(推荐)
Oct 01 Javascript
layui多iframe页面控制定时器运行的方法
Sep 05 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
php实现读取手机客户端浏览器的类
2015/01/09 PHP
隐性调用php程序的方法
2015/06/13 PHP
PHP手机号中间四位用星号*代替显示的实例
2017/06/02 PHP
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
jQuery对象和DOM对象相互转化
2009/04/24 Javascript
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
深入浅析Bootstrap列表组组件
2016/05/03 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
JS比较两个数值的大小实例
2016/11/25 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
Python通过future处理并发问题
2017/10/17 Python
Python数据结构之顺序表的实现代码示例
2017/11/15 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
django使用graphql的实例
2020/09/02 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
上课睡觉检讨书
2014/01/28 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
公司感谢信范文
2015/01/22 职场文书
校运会宣传稿大全
2015/07/23 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
Python实现单例模式的5种方法
2021/06/15 Python
为Centos安装指定版本的Docker
2022/04/01 Servers