echarts力导向图配置项

该博客内容涉及利用Echarts库构建一个力导向布局的网络图。数据包含多个节点,如'王大妈'、'王二麻子'和'李四',节点类别分为两类,并设置了不同的图标和大小。节点间的关系通过links数据结构定义,具有特定的标签和线样式。此外,还配置了节点文本、节点图片大小和关系线颜色等细节。
摘要由CSDN通过智能技术生成
var data = {
          nodes: [
              {
                  name: '王大妈',
                  category: 0,
                  ip: '10.0.5.187',
              }, {
                  name: '王二麻子',
                  category: 1,
      
                  
                  ip: '10.0.5.187'
              }, {
                  name: '李四',
                  category: 1,
                  ip: '10.0.5.186'
              },
          ],
          links: []
          }
          var count = 0;
          var nodesList = data.nodes
          data.links = Array.from({length: nodesList.length -1}).map((item, index)=> {
          return {
                  source: nodesList[0].name,
                  target: nodesList[(index + 1)].name,
                  count: count++
              }
          })
 // 节点配置
            data.nodes.forEach(node => {
                // 判断节点类型
                if (node.category === 0) {
                    // 设置节点图片
                    node.symbol = 'image://'+"./img/server3-success.png",
                    // 节点图片大小
                    node.symbolSize = 40;
                } else if (node.category === 1) {
                    node.symbol = 'image://'+"./img/server1-success.png",
                    node.symbolSize = 30
                }
        });
    
        // 节点关系数据
            data.links.forEach(link => {
                // 关系标签
                link.label = {
                    // 文字水平居中
                    align: 'center',
                    // 字号
                    fontSize: 12,
                    color: '#32527d'
                };
                // 关系线的样式
                link.lineStyle = {
                    color: '#1b95d9'
                }
                
            });
 option = {
        animation:false,
        series: [{
            type: 'graph',
            //  布局为力导向布局
            layout: 'force',
            // 节点是否可拖拽
            draggable: false,
            // 是否开启鼠标缩放和平移漫游
            roam: false,
            lineStyle: {
                color: '#1b95d9',
                width: 2
            },
            // 节点文本配置
            label: {
                 // 是否显示
                show: true,
                // 字号
                fontSize:12,
                color: '#32527d',
                borderWidth: 0,
                shadowBlur: 0,
                shadowColor: 'transparent',
                // 文字偏移
                offset: [0, 30],
                // 显示文本
                formatter:function(e){
                    return e.data.ip
                }
            },
            force: {
                 // 节点之间的斥力因子
                repulsion: 1500,
                // 线两边的节点距离
                edgeLength: 50,
                layoutAnimation: false
            },
           //  不响应鼠标事件
            silent: true,
            data: data.nodes,
            links: data.links
        }]
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值