使用 d3 在两个节点之间绘制多条边

2024-05-02

我一直在关注 Mike Bostock 的代码这个例子 http://bl.ocks.org/1153292学习如何在 d3 中绘制有向图,并且想知道如何构建代码,以便可以在图中的两个节点之间添加多个边。例如,如果上例中的数据集定义为

var links = [{source: "Microsoft", target: "Amazon", type: "licensing"},
             {source: "Microsoft", target: "Amazon", type: "suit"},
             {source: "Samsung", target: "Apple", type: "suit"},
             {source: "Microsoft", target: "Amazon", type: "resolved"}];

然后运行代码,我看到的只是一行。所有路径都在 html 代码中正确绘制,但是它们都具有相同的坐标和方向,这导致视觉效果看起来像 1 条线。在这个例子中需要进行什么样的代码重组才能允许 3 个边不被绘制在彼此之上?


事实上,原始可视化是显示节点之间多个链接的一种方法的主要示例,即使用弧而不是直接路径,因此您可以看到传入和传出链接。

通过更改后续的半径值,可以扩展此概念以显示每种类型的链接的多个svg路径(圆弧) http://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands代表链接的元素。一个基本的例子是

dr = 75/d.linknum;

Where d.linknum表示连续链接的编号。dr稍后用作正在绘制的弧的 rx 和 ry 量。

完整的实现在这里:http://jsfiddle.net/7HZcR/3/ http://jsfiddle.net/7HZcR/3/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 d3 在两个节点之间绘制多条边 的相关文章

  • 当表格在 IE 中获得焦点时,表格滚动条会向上跳跃

    问题 我有一个table有包装的div with overflow y auto 一旦table获得焦点 滚动条向上跳 我怎样才能防止这种情况发生 我经历过这种行为IE9 不在 Chrome 中 请注意 我已添加tabindex到桌子上 以
  • 清理 html 字符串中的所有脚本

    HTML5 剪贴板很棒 但我正在寻找一种使其安全的方法 用户正在将文本 html 粘贴到我的网页中 这允许他们粘贴图像 表格等 我正在寻找一种方法 在将粘贴的内容添加到页面之前删除所有脚本 我需要删除
  • D3.js - 具有多个环的圆环图

    以下示例显示了 D3 js 中的圆环图 是否可以向图表添加多个圆环 var dataset apples 53245 28479 19697 24037 40245 var width 460 height 300 radius Math
  • 使用 PHP 将 SVG 图像转换为 PNG

    我正在开发一个网络项目 该项目涉及动态生成的美国地图 根据一组数据为不同的州着色 这个 SVG 文件为我提供了一张很好的美国空白地图 并且很容易更改每个州的颜色 困难在于 IE 浏览器不支持 SVG 因此为了让我使用 svg 提供的便捷语法
  • 如何仅突出显示嵌套表的最里面的表行?

    我有几个嵌套表 我想突出显示鼠标指针下方的最里面的行 我怎样才能做到这一点 一些提示 我使用嵌套表来显示递归表格数据 表可以嵌套 10 层 嵌套正如您所期望的那样 table tr td table tr td table tr td 可能
  • 我应该使用哪种 MIME 类型来为 XHTML5 提供 IE7 和 IE8 服务?

    我想使用 XHTML5 但显然他们两个浏览器不接受application xhtml xmlMIME 类型 我读到他们会接受text xml or application xml不确定 但这有点黑客 所以我想知道我是否应该只为 IE7 和
  • 是否存在类似 number 的内容?

    当我们使用 a href number a or a href mailid a 对于电话号码和电子邮件 类似的事情 a href number a 传真存在吗 是的 电话 传真和调制解调器 URL 方案在https www ietf or
  • Outlook 有条件 CSS If 吗?

    我需要一些特定的 css 来发送 html 电子邮件 但仅限于 Outlook 我正在寻找相当于
  • popstate - 需要单击两次后退按钮才能真正返回

    我正在创建一个单页面并使用 PushState 来更改地址 现在 如果我向后推 则会触发 popstate 并且我想要使页面以动画方式从当前位置滚动到最后一个位置 当然 这是可行的 但页面会跳转到顶部 有谁知道如何防止这种行为 我正在使用
  • HTML5 视频自动播放功能在 fullpage.js 中不起作用

    我的 HTML5 视频自动播放不起作用
  • Silverlight 中的图形可视化

    我有一个表示有向图的数据结构 我正在寻找一个好的 Silverlight 可视化 以允许我从一个节点导航到另一个节点 最好带有一些漂亮的动画 有谁知道这种显示有什么好的 UI 控件或框架吗 甚至是来自另一个领域的样本 也许是社交网络 我的图
  • 如何计算单击的甜甜圈元素的中点与负 y 轴之间的角度

    Consider the following codesample donut chart using jquery flot http jsfiddle net c5zsg6y3 26 now as i have added the im
  • 垂直对齐多行文本(菜单元素)?

    我正在尝试垂直对齐 UL 内的文本 问题是某些列表项具有不止一行文本 因此无法使用行高 小提琴 http jsfiddle net jaAYT http jsfiddle net jaAYT 这是我想要达到的结果 http img402 i
  • Facebook 分享自定义消息

    项目网站上有一个测验 您可以回答一些问题 然后根据答案得出结果 结果有时会有所不同 但客户要求结果 自定义消息 应该能够在 Facebook 上共享 我想做的就是通过自定义消息分享测验的网址 即 我在有关历史的测验中回答了 10 个问题中的
  • CSS 选择器:Active 不适用于 IE8 中的子元素单击

    我有以下 HTML 结构 div class wrapper div class control clickable img src logo png div div 以及以下 CSS control border 1px solid 00
  • 使用 PHP 创建图表并导出为 PDF

    我正在寻找有关使用 PHP 创建图表的建议 我还希望能够将这些图表导出到 PDF 文档 我目前正在使用谷歌图表 但我不喜欢将我的所有信息发送到谷歌的想法 我更喜欢自己的托管解决方案 我见过很多 Flash 解决方案 但我不知道有什么方法可以
  • 中有样式表 吗?

    在内部链接 CSS 文件是一个坏主意吗 body 我读过 如果浏览器在外部找到另一个 CSS 文件 则它会被迫重新开始 CSS 渲染 head 只是因为它可能需要将样式应用于已经渲染的元素 另外 我认为 HTML 无法正确验证 我需要确认这
  • D3 向对象添加超链接?

    我正在尝试制作 D3 图 它将代表我网站的菜单 我尝试按照此处的其他指南添加超链接 但它们都不起作用 每个对象都会有一个不同的 URL 指向 主页 关于 联系方式等 如果添加超链接 我可以拖动对象吗 这意味着如果我按住单击 如果我单击该对象
  • 在 Android Chrome 中隐藏 HTML5 音频/视频通知

    我的网络应用程序上有一个 HTML5 音频元素 在某些时候 我使用以下代码以编程方式停止播放 audioElement pause audioElement currentTime 0 播放音频时 我的 Android 设备 使用 Goog
  • 使圆圈与 d3.js 上的多线匹配相同的颜色过滤?

    我有一个多线图 当按每种水果过滤时会更新 每条线条颜色对应不同的销售年份 在 的帮助下Shashank https stackoverflow com users 5569282 shashank 每个数据点线上的圆圈已添加到组中 而不是直

随机推荐

  • 如何使用谷歌趋势查找编程语言流行总体趋势的统计数据

    我喜欢关注趋势浏览器 操作系统 语言等 我发现谷歌趋势是一个非常有用的资源有时但有时我无法获得我想要的信息 与多年来其他主要 Linux 发行版相比 Ubuntu 的增长非常明显 在发布日期附近有 6 个月度峰值 由于非编程相关事件而出现偏
  • 为什么在“if False:”块中注释赋值语句会导致差异“NameError”消息?

    如果我评论了baz 4中的声明if False 阻止我收到消息NameError name baz is not defined否则我收到消息NameError free variable baz referenced before ass
  • 从 MySQL 转储中删除 DEFINER 子句

    我有一个数据库的 MySQL 转储 其中有 DEFINER 子句 如下所示 DEFINER root localhost 也就是说 这些 DEFINER 子句位于我的 CREATE VIEW 和 CREATE PROCEDURE 语句中 有
  • 使用 sed 反转输入顺序

    我有一个文件 我们将其命名为 a txt 该文件包含以下文本行 do to what 我想知道 SED 命令是什么来反转此文本的顺序 使其看起来像 what to do 我必须做某种追加吗 就像将 do 附加到 to 所以它看起来像 to
  • 寻找使用库版本的方法?

    我正在通过库在多个电子表格上部署脚本 但正如您所知 脚本 目前 还无法知道它是否正在运行最新版本 我试图通过为我的代码创建自己的版本控制来找到解决此问题的方法 我有一个 Web 服务返回我的库代码的最新版本号 以便我可以对其进行比较 但 o
  • 使用更新面板时服务器控件丢失其 CSS 样式

    我在用我的项目的模板 我在表单中使用了 updatepanel 在更新面板中我采用了 asp net 的不同下拉列表控件 现在的问题是 当页面回发时 应用于下拉列表的 css 样式会丢失 因为我对 CSS 没有详细的了解 所以请帮助 现在有
  • 在 re.sub 中使用变量,以便 Python 解析多个日期时间格式字符串?

    我试图想出一个函数来将各种人类日期 时间格式字符串转换为Python兼容的字符串 来自 yyyy MMM dd to Y b d 到目前为止 我构建了下面的翻译字典 元组列表 yyyy Y MMM b 这样我可以将输入格式字符串中的占位符字
  • 获取运行时权限错误 E/Minikin: addFont 未能创建字体 /system/fonts/NanumGothic.ttf

    我在 google 和 stackoverflow 上搜索了很多 我得到了这个错误 E Minikin addFont 无法在片段中创建字体 system fonts NanumGothic ttf 之后重新加载片段 请帮我解决这个问题 在
  • redux 减速器类型“从不”

    我想使用 useSelector 来选择 rootStore 的正确状态 但无法正确获取状态 原因是主题缩减器根状态给我类型never export type RootState ReturnType
  • 忽略 Xamarin.Forms (PCL) 中的 SSL 证书错误

    有没有办法做类似这里描述的事情 https stackoverflow com a 2675183 https stackoverflow com a 2675183但在 Xamarin Forms PCL 应用程序中 我正在使用 Http
  • Pandas 旋转一列,同时使用与列标题相同的列值

    我想在数据框中旋转一列 其中列值成为列标题 而这些列的实际值成为1 or 0 例子 movie id cluster id answer id 0 73 1 4 1 80 1 5 4 81 1 2 7 84 1 1 10 88 1 1 11
  • google Drive api 是否支持 2 足 oauth?

    现在 我们有一个带有 Google Docs Api 和 2 条腿的 oauth 的应用程序 但是 我们希望迁移到使用 Oauth 2 0 的 Google Drive Api 我们可以将 2 条腿的 oauth 与 Google Driv
  • 如何在工作项更改事件中获取对 TFS 工作项的引用?

    看起来这非常简单 但我正在努力寻找我需要的东西 我正在实现一个 TFS 2013 事件处理程序 并且只想获取对引发更改事件的工作项的引用 获取标题似乎很容易 但我在事件签名对象中找不到属性或方法来为我提供对 WorkItem 对象的引用或查
  • Azure Pipelines 中的 NG 构建失败,出现 NPM 错误 134

    大约 50 的托管构建失败 并出现 npm 错误 134 我正在使用托管 vs2017 构建具有相同构建定义的相同提交 我正在使用 Angular CLI 构建 Angular 应用程序 npm 任务调用 run build 它在我的 pa
  • TypeScript GUID 类? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道在 TypeScript 中像 GUID UUID 这样的 C 的良好 可靠的实现吗 我自己可
  • 当用户控件可见时将焦点设置到它

    I am showing a MessageBox and want the user to be able to copy the contents of the message using CTRL C The problem is t
  • 如何在应用程序启动时获取当前的 Facebook 访问令牌?

    在应用程序启动时 我需要知道用户是否已登录或未显示登录页面 我的第一次尝试是打电话AccessToken getCurrentAccessToken 但这不起作用 请参阅https stackoverflow com a 29854249
  • iOS 相机视频实时预览与拍摄的照片有偏移

    我正在使用相机工作 相机以实时反馈的形式呈现给用户 当用户单击时 就会创建图像并将其传递给用户 问题是图像被设计为位于最顶部位置 该位置高于实时预览显示的位置 您知道如何调整相机的框架 使实时视频的顶部与他们要拍摄的照片的顶部相匹配吗 我以
  • Apksigner 不验证签名

    我试图使用 apksigner 验证最新 Gmail 应用程序 版本 8 11 25 224 的签名 但失败了 I used apksigner verifiy verbose print certs
  • 使用 d3 在两个节点之间绘制多条边

    我一直在关注 Mike Bostock 的代码这个例子 http bl ocks org 1153292学习如何在 d3 中绘制有向图 并且想知道如何构建代码 以便可以在图中的两个节点之间添加多个边 例如 如果上例中的数据集定义为 var