首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

D3强制导向布局是如何显示边缘的?

D3强制导向布局是一种用于可视化图形展示的布局算法,用于生成节点和链接之间的布局关系。它通过模拟物理力导向系统来确定节点的位置,使得节点之间的连接线长度最小化。

在D3强制导向布局中,边缘的显示是通过链接(edges)来实现的。每个链接通常由两个节点之间的直线或曲线组成。要显示边缘,可以在布局过程中为每个链接添加一个路径元素,将其位置设置为连接两个节点的坐标。通过将边缘路径添加到SVG画布中,可以将其呈现为直线或曲线。

在D3中,可以使用以下方法来显示边缘:

  1. 创建链接生成器(link generator):使用D3的link()方法可以创建一个链接生成器,用于生成链接的路径。可以通过设置链接生成器的样式和属性来控制边缘的显示效果。
  2. 绑定链接数据:将链接数据与链接生成器绑定,以便根据数据生成相应的链接路径。可以使用D3的data()方法将链接数据绑定到链接生成器上。
  3. 生成链接路径:通过调用链接生成器的方法(如link())可以生成链接的路径。该方法将链接数据作为参数,并返回代表链接路径的字符串。
  4. 添加边缘元素:使用D3的append()方法将生成的边缘路径添加到SVG画布中,以便显示边缘。可以设置边缘元素的样式和属性来调整其外观。

总结起来,D3强制导向布局通过链接生成器和链接数据,以及将生成的边缘路径添加到SVG画布中的方法来显示边缘。通过控制链接生成器的样式和属性,可以调整边缘的显示效果。在实际应用中,可以根据具体的需求和场景选择适合的D3强制导向布局方式,以展示图形节点和边缘之间的关系。

以下是腾讯云推荐的相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

知识图谱项目前端可视化图论库——Cytoscape.js简介

知识图谱项目是一个强视觉交互性的关系图可视化分析系统,很多模块都会涉及到对节点和关系的增删改查操作,常规的列表展示类数据通过表格展示,表单新增或编辑,而图谱类项目通常需要关系图(力导向图:又叫力学图、力导向布局图,是绘图的一种算法,关系图一般采用这种布局方式)去展示,节点和关系的新增编辑也需要前端去做一些复杂的交互设计。除此之外还有节点和关系的各种布局算法,大量数据展示的性能优化,节点动态展开时的局部布局渲染,画布的可扩展性,样式的自定义等等诸多技术难点。目前国内使用最多的两个已开源的前端可视化框架:阿里的AntV、百度的Echarts对于关系图的支持都比较弱,不能完全满足项目中的需求。

05

OpenOrd-面向大规模图布局的开源算法-研读

我们创作了一个用于绘制大型无向图的开源工具箱。 这个工具箱是基于一个以前实现的闭源算法,即VxOrd。 我们的工具箱,我们称之为OpenOrd,通过合并切割incorporating edge-cutting、多级方法multi-level approach、平均链接聚类average-link clustering和并行实现parallel implementation,将VxOrd的功能扩展到大型图形布局。 在每个层次上,顶点都使用力导向布局和平均链接聚类来分组。 分组的顶点会被重新绘制,上述过程不断重复。 When a suitable drawing of the coarsened graph is obtained, the algorithm is reversed to obtain a drawing of the original graph. 在得到粗化图coarsened graph的一幅合适的图时,该算法得到了相反的结果,得到了原始图的图像。 这种方法导致了包含本地和全局结构的大图形的布局。 本文给出了该算法的详细描述。 给出了使用超过600 K个节点的数据集的例子。 代码可在www.cs.sandia.gov/smartin上获得。

01

数据可视化工具d3_前端3d可视化

近年来,可视化越来越流行,许多报刊杂志、门户网站、新闻媒体都大量使用可视化技术,使得复杂的数据和文字变得十分容易理解,有一句谚语“一张图片价值于一千个字”。D3 正是数据可视化工具中的佼佼者,基于 JavaScript 开发,项目托管于 GitHub。从 D3诞生以来,不断受到好评,在 GitHub 上的项目仓库排行榜也不断上升。可视化越来越流行,许多报刊杂志、门户网站、新闻、媒体都大量使用可视化技术,使得复杂的数据和文字变得十分容易理解,有一句谚语“一张图片价值于一千个字”,的确是名副其实。各种数据可视化工具也如井喷式地发展,D3 正是其中的佼佼者。D3 的全称是(Data-Driven Documents),顾名思义可以知道是一个被数据驱动的文档。听名字有点抽象,说简单一点,其实就是一个 JavaScript 的函数库,主要是用来做数据可视化。

04

图布局算法的发展

图数据的可视化,核心在布局,而布局算法通常是按照一些特定的模型,将抽象数据进行具象展示,这一过程伴随大量的迭代计算,例如朴素的 FR 力导向算法其在计算斥力时的算法时间复杂度达到了 O(n 3 ),这在小规模数据量下可能并不会出现问题,但随着规模的不断增大,采用如此“高昂”计算复杂度的算法变得不能接受,所以,出现了许多针对算法时间复杂度进行改进的方法,需要说明的是,在这一阶段,数据集的规模仍未达到单机处理上限,例如 OpenOrd算法采用多线程并行来加速计算过程。随着数据规模的进一步扩大,图数据节点达到百万级别时,单机并行策略也变得无能为力,这时,分布式并行计算的方式为这种“大规模图数据”的处理提供了可能性。

03

Protel99SE快捷键大全

protel99se快捷键 enter——选取或启动 esc——放弃或取消 f1——启动在线帮助窗口 tab——启动浮动图件的属性窗口 pgup——放大窗口显示比例 pgdn——缩小窗口显示比例 end——刷新屏幕 del——删除点取的元件(1个) ctrl+del——删除选取的元件(2个或2个以上) x+a——取消所有被选取图件的选取状态 x——将浮动图件左右翻转 y——将浮动图件上下翻转 space——将浮动图件旋转90度 crtl+ins——将选取图件复制到编辑区里 shift+ins——将剪贴板里的图件贴到编辑区里 shift+del——将选取图件剪切放入剪贴板里 alt+backspace——恢复前一次的操作 ctrl+backspace——取消前一次的恢复 crtl+g——跳转到指定的位置 crtl+f——寻找指定的文字 alt+f4——关闭prote spacebar——绘制导线,直线或总线时,改变走线模式 v+d——缩放视图,以显示整张电路图 v+f——缩放视图,以显示所有电路部件 home——以光标位置为中心,刷新屏幕 esc——终止当前正在进行的操作,返回待命状态 backspace——放置导线或多边形时,删除最末一个顶点 delete——放置导线或多边形时,删除最末一个顶点 ctrl+tab——在打开的各个设计文件文档之间切换 alt+tab——在打开的各个应用程序之间切换 a——弹出edit\align子菜单 b——弹出view\toolbars子菜单 e——弹出edit菜单 f——弹出file菜单 h——弹出help菜单 j——弹出edit\jump菜单 l——弹出edit\set location makers子菜单 m——弹出edit\move子菜单 o——弹出options菜单 p——弹出place菜单 r——弹出reports菜单 s——弹出edit\select子菜单 t——弹出tools菜单 v——弹出view菜单 w——弹出window菜单 x——弹出edit\deselect菜单 z——弹出zoom菜单 左箭头——光标左移1个电气栅格 shift+左箭头——光标左移10个电气栅格 右箭头——光标右移1个电气栅格 shift+右箭头——光标右移10个电气栅格 上箭头——光标上移1个电气栅格 shift+上箭头——光标上移10个电气栅格 下箭头——光标下移1个电气栅格 shift+下箭头——光标下移10个电气栅格 ctrl+1——以零件原来的尺寸的大小显示图纸 ctrl+2——以零件原来的尺寸的200%显示图纸 ctrl+4——以零件原来的尺寸的400%显示图纸 ctrl+5——以零件原来的尺寸的50%显示图纸 ctrl+f——查找指定字符 ctrl+g——查找替换字符 ctrl+b——将选定对象以下边缘为基准,底部对齐 ctrl+t——将选定对象以上边缘为基准,顶部对齐 ctrl+l——将选定对象以左边缘为基准,靠左对齐 ctrl+r——将选定对象以右边缘为基准,靠右对齐 ctrl+h——将选定对象以左右边缘的中心线为基准,水平居中排列 ctrl+v——将选定对象以上下边缘的中心线为基准,垂直居中排列 ctrl+shift+h——将选定对象在左右边缘之间,水平均布 ctrl+shift+v——将选定对象在上下边缘之间,垂直均布 f3——查找下一个匹配字符 shift+f4——将打开的所有文档窗口平铺显示 shift+f5——将打开的所有文档窗口层叠显示 shift+单左鼠——选定单个对象 crtl+单左鼠,再释放crtl——拖动单个对象 shift+ctrl+左鼠——移动单个对象 按ctrl后移动或拖动——移动对象时,不受电器格点限制 按alt后移动或拖动——移动对象时,保持垂直方向 按shift+alt后移动或拖动——移动对象时,保持水平方向 * 顶层与底层之间层的切换 + (-) 逐层切换:“+”与“-”的方向相反 Q mm(毫米)与mil(密尔)的单位切换 IM 测量两点间的距离 ◎edafans 版权所有,拒绝转载◎exdjavKNu5 E x 编辑X ,X为编辑目标,代号如下:(A)=圆弧;(C)=元件;(F)=填充;(P)=焊盘;(N)=网络;(S)=字符;(T)=导线;(V)=过孔;(I)=连接线;(G)=填充多边形。例如要编辑元件时按E C,鼠标指针出现“十”字,单击要编辑的元件即可进行编辑。 P x 放置 X,X为放置目标,代号同上。 M x 移动X,X为移动目标,(A)、(C)、(F)、(P)、(S)、(T)、(V)、(G)同上,另外( I )=翻转选择部份;(O)旋转选择部份;(M)=移动选择

02
领券