「AntV」如何使用G6进行指标体系可视化指标体系的建立,是进行预测或评价研究的前提和基础,它是将抽象的研究对象按照

对比设计效果,测试小姐姐提了几条建议:

通读Antv官网后,了解到AntV图可视分析解决案分为三大类,即对统计数据、关系数据、地理数据的可视化解决案,对应的开源技术分别是:G2/G2Plot/S2、G6/Graphin/X6/XFlow、L7/L7Plot等。基于侧重展示还是侧重编辑,可以分为图可视化引擎和图编辑引擎。基于侧重的前端技术栈,可以分为:Vue和React等。

我们的指标数据,属于关系数据,侧重于图可视化,且前端技术栈为Vue全家桶,因此最终选择G6作为我们的可视化引擎。

由于我们的指标体系,是具有父子层级关系的数据,且业务团队在调研时倾向于使用思维脑图,于是最终选定:脑图布局(mindmap)。

当前实例化选项为:

实例化选项中设置了fitView=true,也就是自适应视口。因此,只有一个节点时,节点变得非常大;节点很多时,节点变得很小。

在G6的事件中,event会包含当前鼠标操作位置的三种坐标值,它们的变量名与上述三种坐标系对应关系如下:

可以发现后两者的名字是直接对应的,我们只需要注意event中的x和y对应的是pointX/pointY坐标系。

官方推荐两种挂载悬浮DOM的方式:挂载在body上、挂载在ContainerDOM上。我们选择了后者,即与canvas标签同一父容器。

graph.on('canvas:click',event=>{menuDOM.style.marginLeft=event.canvasX;menuDOM.style.marginTop=event.canvasY;});在某个节点的位置上放置DOM:constnode=graph.getNodes()[0];const{x,y}=node.getModel();//获得该节点的位置,对应pointX/pointY坐标constcanvasXY=graph.getCanvasByPoint(x,y);menuDOM.style.marginLeft=canvasXY.x;menuDOM.style.marginTop=canvasXY.y;注意:如果使用了错误的坐标系来给定悬浮DOM元素的位置,将会出现偏移,在图有缩放、平移等变化时,偏移更加严重。

因此,只需要将实例化选项中布局的横向间距和纵向间距调小就可以了:

节点内部所有图形使用相对于节点自身的坐标系,即(0,0)是该节点的中心。而节点的坐标是相对于画布的,由该节点group上的矩阵控制,自定义节点中不需要用户感知。若在自定义节点内增加rect图形,要注意让它的x与y各减去其长与宽的一半。

当定义了update方法,则不论是否指定registerNode的第三个参数,在节点更新时都会执行复写的update函数逻辑。

在G63.3及之后的版本中,必须指定name,可以是任意字符串,但需要在同一个自定义元素类型中保持唯一性。

我们在实现mindmap-child-node的过程中,重写了update方法,找到需要更新的shape进行更新,从而优化性能。寻找需要更新的图形可以通过:

group.get('children')[0]找到关键图形keyShape,也就是draw方法返回的shapegroup.get('children')找到节点的所有图形数组,然后可以通过图形name进行查找下面代码仅更新了mindmap-child-node的展开收起按钮的图标:

(左)没有设置锚点时,(右)设置了锚点后。

getAnchorPoints方法仅在需要限制与边的连接点时才需要复写,也可以在数据中直接指定。

getAnchorPoints(){return[[0,0.5],//左侧中间[1,0.5],//右侧中间];}关于stateG6中的state,指的是节点或边的状态,包括交互状态和业务状态两种。说明如下:

在G6中,有三种方式配置不同状态的样式:

建议使用graph.clearItemStates来取消graph.setItemState设置的状态。

graph.clearItemStates支持一次取消单个或多个状态。graph.setItemState(item,'bodyState','health');graph.setItemState(item,'selected',true);graph.setItemState(item,'active',true);//取消单个状态graph.clearItemStates(item,'selected');graph.clearItemStates(item,['selected']);//取消多个状态graph.clearItemStates(item,['bodyState:health','selected','active']);关于图标和增加节点对比度所有节点图标更换为svg格式,避免失真;文本颜色调整为纯黑;调整节点边框颜色,并增加阴影,格式如下:attrs:{//...//其他属性stroke:'rgba(76,125,254,0.48)',shadowOffsetX:0,shadowOffsetY:4,shadowBlur:16,shadowColor:'rgba(76,125,254,0.48)'}4.8自定义边下面使我们开发的自定义边代码:

因此,G6还提供了自定义交互行为的机制,方便用户开发更加定制化的交互行为。

THE END
1.使用Cytoscape中的Enrichmen进行富集分析可视化tMapEnrichment Map是一个用于功能丰富可视化Cytoscape软件的插件,必须使用任何可用方法在EnrichmentMap之外生成富集结果。将基因集(例如通路和Gene Ontology terms)组织成网络(即“enrichment map”)可以是GSEA和g:Profiler的结果,当然也可以是DAVID,BINGO等其他的富集结果。 通过这种方式,相互重叠的基因组聚集在一起,使解释更加...https://www.jianshu.com/p/0faf558b388d
2.若上游的来沙量小于本段河流的挟沙能力,则发生淤积()在Cytoscape中,哪个不是创建网络的方法( ) A. 导入预设的格式化网络文件 B. 导入预设的未格式化的文本文件 C. 从Web Service 中导入网络 D. 导入预设的未格式化的word文件 查看完整题目与答案 组培繁殖过程中的培养材料可以长期的繁殖使用,没有必要更换。 A. 正确 B. 错误 查看完整题目与...https://www.shuashuati.com/ti/fb72fc5144bf45849c24cd544f8b5c26.html?fm=bd4aa859d9971117002f93ea29d2732030
1.聚类分析MSADBO优化Spectral谱聚类优化算法?作者简介:热爱数据处理、数学建模、仿真设计、论文复现、算法创新的Matlab仿真开发者。 更多Matlab代码及仿真咨询内容点击主页 :Matlab科研工作室 个人信条:格物致知,期刊达人。 内容介绍 聚类分析作为一种无监督学习方法,在数据挖掘、模式识别和机器学习等领域扮演着至关重要的角色。其目标是将数据点...https://blog.csdn.net/Matlab_jiqi/article/details/144163400
2.聚类分析MSADBO优化Spectral谱聚类优化算法蜣螂优化器(DBO)是一种有效的元启发式算法。蜣螂优化算法虽然具有寻优能力强,收敛速度快的特点但同时也存在全局探索和局部开发能力不平衡,容易陷入局部最优,且全局探索能力较弱的缺点。为此,本文提出了一种改进的 DBO 算法来解决全局优化问题,我们将其命名为 MSADBO.受改进正弦算法(MSA)的启发,我们赋予蜣螂 MSA的全...https://blog.51cto.com/u_15735367/12663542
3.干货分享Cytoscape软件对经STRING数据PPI网络图美化采用Cytoscape软件对经STRING数据库分析所得PPI网络图进行美化大致可分为两种情况:其一则是直接通过调整图片颜色、线条、整体布局(注意:整体布局调整亦可手动调节或直接自动调节,较为灵活)等的调整以达到美化的效果;其二则是进阶版,依据“Degree”值进行分类设置,以使图片更加精致美观的同时层次更加分明,下面我将以第二种...https://www.bio-review.com/string-cytoscape-ppi/
4.Cytoscape.js,将标签文本定位在边缘顶部Cytoscape.js是一种用于可视化网络和图形的JavaScript库。它提供了一种灵活而强大的方式来创建、操作和布局各种网络结构,包括社交网络、生物信息学网络、网络拓扑等。 Cytoscape.js可以用于前端开发,通过使用该库,开发人员可以在网页中展示和操作图形网络,提供良好的用户交互体验。它可以支持各种功能,包括节点和边的样...https://cloud.tencent.com/developer/information/Cytoscape.js%EF%BC%8C%E5%B0%86%E6%A0%87%E7%AD%BE%E6%96%87%E6%9C%AC%E5%AE%9A%E4%BD%8D%E5%9C%A8%E8%BE%B9%E7%BC%98%E9%A1%B6%E9%83%A8-ask
5.基于网络药理学和分子对接探讨糖脉康颗粒治疗糖尿病周围神经病变...对药物与疾病的靶标基因取交集后采用 Cytoscape 软件构建活性成分–靶点网络图,并导入 String 数据库构建 PPI 网络,进 行拓扑分析寻找核心基因.采用 R 软件进行基因本体(GO)注释和京都基因与基因组百科全书(KEGG)信号通路富集分 析.结果 糖脉康颗粒治疗糖尿病周围神经病变的关键化学成分为巴马汀,广玉兰内酯和 11,...https://www.tiprpress.com/xdywlc/article/pdf/20240409
6.样式leovan/cytoscape-manual 3.10.1 15 5 样式? 什么是样式 Cytoscape 在网络可视化方面的优势之一是允许用户将任何表格数据(名称,类型,度,权重,表达式等)编码为网络的属性(颜色,节点大小,透明度,字体等)。这些编码或映射的表格数据的集合称为一个样式。通过控制面板中的Style面板可以创建或修改样式。在这个界面...https://cytoscape.leovan.tech/styles/