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 实现网络拓扑图的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 试音天碟《专业测试第一天碟》经典天碟精选[WAV分轨][1G]
- 试音典范 《情惹发烧情HQCD》人声发烧极品 [WAV+CUE][1G]
- 世界顶级汽车音响试音王《幸福在路上》[低速原抓WAV+CUE][1.1G]
- 老头杯第二届什么时候开始 英雄联盟第二届老头杯开赛时间介绍
- 老头杯第二届什么时候结束 英雄联盟第二届老头杯结束时间介绍
- 老头杯第二届规则是什么 英雄联盟老头杯第二届规则介绍
- 王崴-爵士听堂.蓝色波萨(HQCD)[WAV+CUE]
- 群星《欧美动听情歌·柔情第5季》2CD【DTS-WAV分轨】
- [极品珍藏]德意志进行曲集卡拉扬SACD[WAV+CUE]
- 前暴雪制作人呼吁反击DEI 玩家:夺回文化!
- 腾讯证实子公司Sharkmob大规模裁员:整个市场很低迷
- 荣耀加冕 问鼎冠军 中国代表队获第四届东亚电竞锦标赛团体总冠军
- 污甩乐队.2024-Let.the.dirt.left【摩登天空】【FLAC分轨】
- 杜德伟.1994-ALL.FOR.YOU(英)【滚石】【WAV+CUE】
- 群星.2013-百代好声音ADMSCD1【EMI百代】【WAV+CUE】