Echarts绘制关系图(一)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Echarts绘制关系图(一)相关的知识,希望对你有一定的参考价值。
参考技术A 何为关系图,从字面上可以看出,为关系的图形,既然为关系,那么就需要有点以及关系,用来表示点与点之间的联系。所以我们可以得出:关系图需要两个必要的元素,节点,关系,其中关系需要包含有联系的节点以及节点联系说明。因此我们首先需要将数据设计出来。节点数据
关系数据
至此我们的数据也弄明白了,那么我们现在来看下echarts关系图的制作。
当前采用的是vue+ts模式的开发模式,故以下都将以此来说明。
由于使用的是ts.故需要引入类型说明
新建一个vue文件,新建dom节点,注意:如果dom节点没有设置长宽,后面渲染会不出现,因为没有给出空间
由于echarts的架子都是差不多的,重点在于series,所以本篇文章主要在series上进行说明,故先复制一份常用架子,如下
至此,我们一个基于echarts的图形基础架子搭建好了,刷新页面,没有报错,dom节点也存在。那么下面就到了创建关系力布图的时候了
按照上图,以及我们前面关于数据的说明,我们可以先创建节点数据
将节点数据设置到力布图上,在上面的options中增加节点
此时数据加上了,但是没有显示,是因为我们没有设置当前图标类型为力布图,因此在options中增加说明即可
但是这样的话,有几个问题,第一,节点过小,第二,不知道节点到底是哪个。那么我们下一步就应该给节点增加样式
1:设置节点的大小,以及形状,直接在nodes数据中进行修改
在echarts中所有的节点的样式都是通过itemStyle来进行设置的,同样的在力布图中已经可以通过itemstyle属性进行设置节点样式(也可以直接在nodes数据中设置单个节点的样式哦,这个可以自己去试下),同理节点上的文字显示问题也是如此,
按照最开始的图片已经数据说明,我们可以很明显的将关系数据编辑出来,如下
在options中增加关系数据,如下
从上面的图形以及数据中,我们可以看到,其实茅十八和韦小宝互相为兄弟关系的,但是上图中没有显示,如果我们去看dom节点,我们可以看到其实茅十八和韦小宝间有两条线,但是由于两间之间直线距离最短,所以echarts就直接给重合了,那么我们怎么解决呢,最简单的方式将重叠的线变成曲线,因此在options中增加曲线率即可
此时一个关系图的最基本的设置就配置完成了。
附加echarts力布图配置链接
https://echarts.apache.org/zh/option.html#series-graph.type
下一章将会实现节点拖拽后固定,以及文字随缩放而变化以及将某个指定的节点定位到视图中间
以上是关于Echarts绘制关系图(一)的主要内容,如果未能解决你的问题,请参考以下文章
ECharts绘制网络关系图(弦图)可调节节点大小以及线条粗细