D3.js 中的树形图 x 和 y 属性从何而来?

2024-01-01

这是 JavaScript 代码:

d3.json("city.json", function (error, root) {
        var nodes = cluster.nodes(root);
        var links = cluster.links(nodes);

        console.log(nodes);
        console.log(links);

        var link = gCluster.selectAll(".link")
            .data(links)
            .enter()
            .append("path")
            .attr("class", "link")
            .attr("d", diagonal);

当我记录节点和链接时,它说有x and y特性:

我的 json 文件就是这样的:

这两个属性从何而来?


这是因为d3.layout.cluster().

在你的代码中,在那之前d3.json函数,你可能有这样的东西:

var cluster = d3.layout.cluster();

然后,当你这样做时:

var nodes = cluster.nodes(root);
var links = cluster.links(nodes);

你正在呼唤d3.layout.cluster()超过你的数据。

什么是d3.layout.cluster()做?根据API https://github.com/d3/d3-3.x-api-reference/blob/master/Cluster-Layout.md:

这些布局遵循相同的基本结构:布局的输入参数是层次结构的根节点,输出返回值是一个表示所有节点的计算位置的数组。几个属性填充在每个节点上:

  • Parent - 父节点,或者根节点为 null。
  • Children - 子节点数组,或叶节点为 null。
  • 深度 - 节点的深度,从 0 开始作为根。
  • x - 计算出的节点位置的 x 坐标。
  • y - 计算出的节点位置的 y 坐标。

(强调我的)

这就是新的起源x and y数据中的属性以及其他属性(您可以看到depth在你的屏幕截图中)。

PS:这是 D3 v3.x。在 D3 v4 中,d3.layout.cluster()已经改变了,现在是d3.cluster().

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

D3.js 中的树形图 x 和 y 属性从何而来? 的相关文章

  • Highstock highcharts 不规则数据的 x 尺度错误

    我有不规则的数据 我使用时图表绘制得很好高图表 function var chart new Highcharts Chart chart renderTo chart xAxis type datetime series name Vol
  • 从立即调用的匿名函数表达式返回 |它去哪里?

    如果我从立即调用的匿名函数表达式返回一个对象 它会去哪里 例如 这段代码中 foo 去了哪里 function var foo return foo 这有什么有用的应用吗 从自执行函数返回一个值而不将该返回值分配给结果变量只是一个无处可去的
  • Javascript 与 Python 关于 Python 'map()' 函数的比较

    Python中有一个函数叫做map这可以让你去 map someFunction x y z 并继续应用该功能的列表 是否有与此功能等效的 JavaScript 我现在刚刚学习Python 虽然我被告知javascript是函数式语言 但我
  • AngularJS 使用 $apply 而不使用 $scope

    我开始使用 AngularJS 并且接受了用它来编写控制器的约定 而不是用 scope 所以我的控制器看起来像这样 myApp controller SomeController function this myModel id 1 nam
  • Google 饼图未显示所有数据行

    我正在尝试绘制人口与国家名称的关系图 我发现 Google 可视化库仅渲染前几个 实际上数字似乎是随机的 具体取决于我使用的数据 有时添加 其他 条目 但它没有t 实际上具有其余条目的值 Example 1 With all countri
  • 来自 DataURL 的 Blob?

    Using FileReader s readAsDataURL 我可以将任意数据转换为数据 URL 有没有办法将数据 URL 转换回Blob使用内置浏览器 API 的实例 用户 Matt 一年前提出了以下代码 如何在javascript中
  • 未捕获的类型错误:this.props.signinUser 不是一个函数(…)

    src actions index js import axios from axios const ROOT URL http localhost 3090 export function signinUser email passwor
  • 如何从表中选择所有偶数 id?

    我想从 MySQL 数据库的表中选择所有甚至帖子 ID 然后显示它们 我还想获取所有带有奇怪 id 的帖子并将它们显示在其他地方 我想使用 PHP 来完成此操作 因为这是我使用的服务器端语言 或者 我是否必须选择所有帖子 然后使用 Java
  • Three.js - 在代码中包含网格数据

    我有这个 Three js 代码 其中 JSON 加载器从文件 models mountain json 加载网格 var Three new function this scene new THREE Scene this camera
  • svg:如何在计算线上设置一个圆?

    我试图用 svg 在计算线上设置一个圆 这是我的例子 http jsfiddle net 7XC9j http jsfiddle net 7XC9j html
  • JQuery 动画文本

    找到简单 简单的动画文本是非常困难的 喜欢这个网站上的 内爆 http codecanyon net item jquery text animation full screen preview 233445 http codecanyon
  • 向对象添加元素

    我需要填充一个 json 文件 现在我有这样的东西 element id 10 quantity 1 我需要添加另一个 元素 我的第一步是使用该 json 将该 json 放入对象类型中cart JSON parse 现在我需要添加新元素
  • 具有行组的 JQuery 斑马条纹表

    我通常将斑马条纹表行设置为奇数 偶数 如下所示 效果很好 table tbody tr visible even this addClass even table tbody tr visible odd this addClass odd
  • 使用 Javascript / Jquery 的本地存储(不使用 HTML5)

    我想在 javascript 或 jquery 中复制本地存储概念 类似于 HTML5 但不幸的是我不知道如何开始 任何人都可以建议如何使用 javascript 或 jquery 实现本地存储 不使用 HTML5 这是一个有点愚蠢的差事
  • 专用网络:web3.eth.getAccounts() 始终发送空数组

    我正在运行一个私人以太坊网络 我确实用https aws amazon com blockchain templates 整个设置已经完成 AWS 上的设置看起来正确 现在 我正在尝试创建帐户并检索所有这些帐户 为此 我使用以下方法 Web
  • ReactJS:从没有 onChange 事件的 props 中选择默认值?

    所以 我只是想知道我是否绝对需要在 React 中的选择组件上有一个 onChange 事件处理程序 我有一个道具传递我想要选择的选项的默认值 如果我有的话 它就没有问题
  • Chrome Javascript 调试器暂停时不会重新加载页面

    有时 当我在 Chrome 中调试某些 javascript 并且暂停了 javascript 时 如果我尝试重新加载页面 chrome 只会 继续 调试器 单步执行到下一个断点 似乎没有任何方法可以强制 javascript 完全停止运行
  • RTCDataChannel发送方法不发送数据

    我的 RTCDataChannel 遇到一个奇怪的问题 我正在对 WebRTC 进行一些研究 并且已经可以进行 WebRTC 音频 视频聊天 现在我想使用 RTCDataChannel 添加文本聊天和文件共享 我已经像这样创建了 RTCDa
  • 使用Promise而不拒绝它会导致内存泄漏吗? [复制]

    这个问题在这里已经有答案了 代码如下 function test value return new Promise function fulfill reject try fulfill true catch e throw e 我担心的是
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查

随机推荐

  • 通过 ajax 将 jquery 中的数组传递给 c# webmethod

    我想将数组传递给 c webmethod 但没有很好的示例可以遵循 感谢您的任何帮助 这是我到目前为止所拥有的 我的阵列 jobRole each function index var jobRoleIndex index var jobR
  • 流类型注释和有效的 JavaScript 源

    我正在使用 Facebook 的新 Flow Type 检查系统 In Flow 遇见 Underscore http flowtype org docs underscore html看来他们改变了这段 JavaScript 代码 var
  • 使用 Espresso 导航视图 Android Kotlin - androidx.test.espresso.NoMatchingViewException

    我是 Espresso 新手 试图编写 NavigationView 菜单项单击的测试用例 HomeActivityClass 中的以下方法 accountMenu is the NavigationView predefined clas
  • 如何将 for-each 循环应用于字符串中的每个字符?

    所以我想迭代字符串中的每个字符 所以我认为 for char c xyz 但我收到编译器错误 MyClass java 20 foreach not applicable to expression type 我怎样才能做到这一点 最简单的
  • C++ std::async 在主线程上运行

    有没有办法在主线程上运行函数 因此 如果我通过异步调用一个函数来下载文件 然后解析数据 然后它会调用一个回调函数 该函数将在我的主 UI 线程上运行并更新 UI 我知道默认 C 实现中的线程是相等的 因此我必须创建一个指向主线程的共享指针
  • 更改 PostgreSQL 数据库及其表的所有者的最佳方法?

    我正在尝试更改 PostgreSQL 数据库 版本 gt 8 2 及其表的所有者 我读过这个解决方案 在 PostgreSQL 中同时修改所有表的 OWNER https stackoverflow com questions 134812
  • gStreamer 视频录制内存泄漏

    您好 我正在尝试录制来自摄像机的 rtsp 流 H264 格式 我正在使用以下 gst 命令以 MPEG4 格式进行录制 gst launch e rtspsrc location rtsp 10 17 8 136 mediainput h
  • Pyrocms 模块或小部件或插件

    这让我抓狂 我想在网站主页上包含一个简单的联系表格 我无法确定是否需要构建模块 小部件或插件 他们似乎都不太正确 模块似乎只能作为独立页面工作 例如现有的联系人模块 小部件似乎只显示数据 从数据库或某种提要 例如 Twitter 获取 而插
  • Ajax 并返回由 PHP GD 创建的图像

    我有一个 PHP 脚本 可以使用 PHP GD 生成图像 生成图像后 将其保存 并在 Ajax 调用时发送以下输出 imagejpeg img data filename jpg echo img src filename jpg jpg
  • 如何对 PHP 应用程序进行负载平衡?

    我正在寻找有关如何对 php 应用程序进行负载平衡的指南 建议或示例 我的设置是 Ubuntu 10 04 和 PHP 5 3 我以前从未使用过负载平衡服务器 我正在寻找提供的任何帮助 Update 这是一个 Web 应用程序 预计将有数百
  • 如何使用 NodeJS imagemagick 库将 PDF 的第一页转换为 JPG?

    我正在尝试将 pdf 文件转换为预览图标 jpg 使用 NodeJS 的 imagemagick 库 我在尝试着 仅生成预览第一页 适用于多页 pdf 在普通的命令行 imagemagick 程序中 这可以是 很容易通过说 转换文件 pdf
  • java正则表达式键:值多行

    我有这样的文字 33 88 app 2 8 superman taman 蒲种 36100 马来西亚 22 布拉布拉 布拉 布拉布拉布拉 32 45 dsfd qdsfqsdf 72D Example 这个例子有一个形式 核心价值 值可以是
  • 从分组数据中选择两个随机且连续的行

    在下面的数据中 包括dput 我对三个人 IndIDII 进行了重复观察 纬度和经度 请注意 每个人都有不同数量的位置 并且它们是按以下顺序排列的 IndYear IndIDII IndYear WintLat WintLong 1 BHS
  • 一次将多个商品添加到 WooCommerce 购物车

    我有 3 个不同商品的 ID 我想将它们添加到购物车中 我可以用https url com shop cart add to cart 3001但是当我想添加 3 个项目时我却做不到 我可以添加任何功能 脚本来将此功能添加到我的购物网站吗
  • python中物理量的命名

    我想为我的模拟代码中使用的物理 数学量建立一个良好的命名方案 考虑以下示例 from math import class GaussianBeamIntensity object Optical intensity profile of a
  • 哪里可以获得适用于 Windows 的预编译 GTK3? [复制]

    这个问题在这里已经有答案了 有没有地方可以下载 Windows 版预编译的 GTK3 GTK 站点仅提供 2 22 版本的二进制文件 GTK for Windows 是由志愿者生成的 因此发布日期不同步 并且取决于开发人员的可用性 一旦完成
  • 寻找一种使用 Shapely 快速查找点所属多边形的方法

    我有一组约 36 000 个多边形 代表该国家 地区的一个分区 约县 我的 python 脚本接收很多点 pointId 经度 纬度 对于每个点 我想发回 pointId polygonId 对于每个点 循环到所有多边形并使用 myPoin
  • CSS 可以根据语言选择不同的默认字体和大小吗

    我有以下 CSS 片段 INPUT font family Raavi font size 14px 当文本框包含一些旁遮普文字时 效果很好 如下所示 但用户可能会输入英文 而我宁愿使用不同大小的 Verdana 字体 因为 Raavi 字
  • android:使用单个媒体播放器对象播放音频文件并显示图像

    我需要依次显示图像并播放相应的音频文件 我尝试创建多个媒体播放器对象 但它显示error 1 17 所以请帮助大家 我的时间不多了 现在我有一个处理程序 它播放音频文件 然后在播放另一个音频文件时获取该音频文件的持续时间 这是我的方法 但我
  • D3.js 中的树形图 x 和 y 属性从何而来?

    这是 JavaScript 代码 d3 json city json function error root var nodes cluster nodes root var links cluster links nodes consol