关系图

作者: 彩云飘过 | 来源:发表于2022-09-01 12:26 被阅读0次

关系图

image.png

第一种: 可使用vis类库

1、Vis-network

visjs 提供了一个网络视图模块,提供给我们绘制网络之间的各个点、线之间的关系,这个的话就比较类似于echarts的地图,在地图上打点画线的逻辑,区别在于使用visjs可以拖动节点的位置、以及visjs里面还有对物理引擎等的引入。

网络是一种可视化,用于显示由节点和边组成的网络和网络。可视化易于使用,并支持自定义形状、样式、颜色、大小、图像等。网络可视化可在任何现代浏览器上流畅运行,最多可容纳数千个节点和边。为了处理大量节点,Network 支持集群。

官网地址:https://visjs.org/index.html

官网文档地址 :https://visjs.github.io/vis-network/docs/network/

中文文档可参考: https://ame.cool/pages/222681/

  1. 具体示例可参考

https://www.likecs.com/show-203852598.html

https://blog.csdn.net/maidu_xbd/article/details/106789416

Image.png

可针对根节点和叶子节点设置具体的样式;


Image.png
  1. 碰到过的问题
Image.png

节点模糊

问题原因是: 浏览器的缩放比例不是100%,而是25%;调整缩放比例到100%以后就清晰了。

————————————————

参考完档:

https://blog.csdn.net/qq_44973159/article/details/124290104

第二种: 可使用echarts类库中的关系图

官网 : https://echarts.apache.org/examples/zh/index.html#chart-type-graph

官网文档配置说明 : https://echarts.apache.org/zh/option.html#series-graph.type

效果图:

series下的graph;

image.png

实现的简单效果

image.png

配置项如下:

option = {

  title: {

    text: 'Basic Graph'

  },

  tooltip: {},

  animationDurationUpdate: 1500,

  animationEasingUpdate: 'quinticInOut',

  series: [

    {

      type: 'graph',

      layout: 'none',

      symbol:'rect',

      symbolSize: [150,30],

      roam: true,

      label: {

        show: true

      },

      itemStyle:{

         color :'rgba(0,255,255,1)',

      },

      edgeSymbol: ['circle', 'arrow'],

      edgeSymbolSize: [4, 10],

      edgeLabel: {

        fontSize: 20

      },

      data: [

        {

          name: 'Node 1',

          x: 300,

          y: 300

        },

        {

          name: 'Node 2',

          x: 800,

          y: 300

        },

        {

          name: 'Node 3',

          x: 550,

          y: 100

        },

        {

          name: 'Node 4',

          x: 550,

          y: 500

        }

      ],

      // links: [],

      links: [

        {

          source: 0,

          target: 1,

          symbolSize: [5, 20],

          label: {

            show: true

          },

          lineStyle: {

            width: 5,

            curveness: 0.2

          }

        },

        {

          source: 'Node 2',

          target: 'Node 1',

          label: {

            show: true

          },

          lineStyle: {

            curveness: 0.2

          }

        },

        {

          source: 'Node 1',

          target: 'Node 3'

        },

        {

          source: 'Node 2',

          target: 'Node 3'

        },

        {

          source: 'Node 2',

          target: 'Node 4'

        },

        {

          source: 'Node 1',

          target: 'Node 4'

        }

      ],

      lineStyle: {

        opacity: 0.9,

        width: 2,

        curveness: 0

      }

    }

  ]

};

echarts实现关系图节点拖拽整理

echarts的关系图也可以实现节点的拖拽效果;
可参考
https://www.jianshu.com/p/5a9095d41021?u_atoken=4b4b927a-cfe8-495d-84a7-1684901c613c&u_asession=01s9YwtXaRSNlr_WTPZkb497uzKZRruK5J1PyJOy-4ZyVPmv_HAdZzpLVFZCEDxwcfX0KNBwm7Lovlpxjd_P_q4JsKWYrT3W_NKPr8w6oU7K-UItr_OgVimzCQB7ZiblADh4gB_rorF7cG9vr14abfLGBkFo3NEHBv0PZUm6pbxQU&u_asig=05Pnua6R1iuwwgTDCYRJwWW2lE-6T4nhwWjVK8Md7dp8aqcOQfzasZ2OiCzR49kIjr_mLV3gNmnkrVQRCyAYIEmo1TzPwGzwKQaekRf2vHEFRjSNqIP1AnBglSLP5JRdAjbUpU4g4_DrVEmYAQ_JnicuvihDSgp9_pn1YJS3P2TxT9JS7q8ZD7Xtz2Ly-b0kmuyAKRFSVJkkdwVUnyHAIJzSU38N6OuXne4gDNfkiGzMWppZYTWXx7ohmxQSiDxTOnU-X92pnuaZyu-ch7KXFYKu3h9VXwMyh6PgyDIVSG1W_BocRXSKH2-5YJF351yoST5wXlYElZ4cq7YXSAdlfppSqAVkLi2ZIshsGbjvdl25lTripiUN9lOtDWvQkFFf--mWspDxyAEEo4kbsryBKb9Q&u_aref=dSWdGNUrsFhXWnOH4r2yLDS4NHI%3D

相关文章

网友评论

      本文标题:关系图

      本文链接:https://www.haomeiwen.com/subject/mxnenrtx.html