(G6)基础图

(G6)基础图

效果:
在这里插入图片描述

	<div id="result-graph"></div>
	
	import G6 from "@antv/g6";	
	//声明变量
	data(){
		return:{
			graph: null, 
		}
	}
    //G6可视化
    tupuShow() {
      // 1.图数据
      this.visualData = {
        nodes: [
          {
            id: "0",
            label: "test0",
            sortAttr: 0,
            size: 60,
          },
          {
            id: "1",
            label: "test1",
            sortAttr: 1,
            size: 60,
          },
          {
            id: "2",
            label: "test2",
            sortAttr: 1,
            size: 60,
          },
          {
            id: "3",
            label: "test3",
            sortAttr: 1,
            size: 60,
          },
        ],
        edges: [
          {
            source: "0",
            target: "1",
            label: "连线1",
          },
          {
            source: "0",
            target: "2",
            label: "连线2",
          },
          {
            source: "0",
            target: "3",
            label: "连线3",
          },
        ],
      };
      // 2.创建关系图
      if (this.graph) {
        this.graph.destroy();
      }
      this.graph = new G6.Graph({
        container: "result-graph",
        modes: {
          default: ["zoom-canvas", "drag-canvas", "drag-node"],
        },
        layout: {
          type: "force",
          preventOverlap: true,
          nodeSize: 100,
          linkDistance: 130,
        },
        defaultEdge: {
          labelCfg: {
            label: "line",
            refY: 10,
            autoRotate: true, // 使文本随边旋转
          },
          style: {
            lineWidth: 2,
            stroke: "#778899",
            endArrow: {
              path: G6.Arrow.vee(5, 10, 6), // 箭头的 宽、长、偏移
              d: 6,
            },
          },
        },
      });

      // 3.配置数据源,渲染
      this.graph.data(this.visualData);
      this.graph.render(); // 渲染图
      this.graph.refresh();
    },

接口数据替换:

	//声明变量
	data(){
		return:{
			graph: null,
		    nodeData: [],
		    edgeData: [],
		}
	}
 	//G6可视化
    tupuShow() { 
		//1.图数据
	   this.visualData = { nodes: [], edges: [] };
	   this.nodeData.forEach((item) => {
	     //设置 节点
	     let obj1 = {};
	     obj1 = {
	       id: item.id,
	       label: item.name,
	       sortAttr: 0,
	       size: 60,
	     };
	     this.visualData.nodes.push(obj1);
	   });
	   this.edgeData.forEach((item) => {
	     //设置 连接线
	     let obj2 = {};
	     obj2 = {
	       source: item.src,
	       target: item.dst,
	       label: item.name,
	     };
	     this.visualData.edges.push(obj2);
	   });
		...
		...
	}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值