d3.js 堆栈布局从 v3 升级到 v4

2023-12-19

使用 D3 v3,我格式化了数据以匹配 Mike 的示例,以快速启动我的开发过程。示例页面在这里https://github.com/d3/d3-3.x-api-reference/blob/master/Stack-Layout.md https://github.com/d3/d3-3.x-api-reference/blob/master/Stack-Layout.md

var data = [
  {
    "name": "apples",
    "values": [
      { "x": 0, "y":  91},
      { "x": 1, "y": 290}
    ]
  },
  {
    "name": "oranges",
    "values": [
      { "x": 0, "y":  9},
      { "x": 1, "y": 49}
    ]
  }
];

然后我所要做的就是获得堆叠值

var stack = d3.layout.stack().values(d=>d.values)

var layers = stack(data)

他在例子中就是这么做的。

然而,在 v4 中,堆栈函数似乎需要表格格式的数据,因此上面的数据看起来像这样。

var data = [
  {x: 0, apples: 91, oranges: 9},
  {x: 1, apples: 290, oranges: 49},
];

有没有一种简单的方法来保持我的数据格式并使用 v4 堆栈函数?我似乎无法理解新的方法来做到这一点。在我当前的数据格式中,我有与值数组相关的有用属性。如果我将数据格式更改为表格,我看不到将属性与值配对的便捷方法。


我也遇到了同样的问题。不幸的是,新方法似乎与 API 序列化模型实例的方式(有点像原始数据)不匹配;相反,您只能使用 JSON 化的表格数据格式。我觉得这在您处理 csv 转储时有效,但这通常不是数据库的组织方式。

我已经发布了相关答案here https://stackoverflow.com/a/40006527/3790954将对象分组格式(例如,示例中的水果)转换为数据点格式(示例中的 x 坐标),如预期的那样d3.stack()。您将能够根据您的具体情况调整代码。

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

d3.js 堆栈布局从 v3 升级到 v4 的相关文章

  • 如何同时使用 2 个范围滑块?

    我想使用 2 个范围滑块同时根据年龄和身高过滤表中的数据 我已经使用以下方法实现了 2 个范围滑块 年龄和身高 d3 slider js https github com MasterMaps d3 slider and a dc data
  • d3树计算所有孩子的数量

    我有一个基于以下内容的 d3 树 http bl ocks org mbostock 1093025 http bl ocks org mbostock 1093025 我如何计算所有孩子的数量 我已经尝试过这个 但是它计算了树中的所有行
  • d3 单击时聚焦于节点

    我正在尝试实现一种力布局 其中单击节点将能够专注于节点周围的区域 我看过一些例子 但我收到一个错误 上面写着link bounds is not defined 我认为边界没有为力布局定义 并且适用于我从中获取聚焦功能的示例http bl
  • 调整小倍数迷你图

    我有一个热图 显示一些数据和热图每行的迷你图 如果用户单击行标签 则数据按降序排列 因此每个矩形都会放置在正确的位置 反之亦然 如果用户单击列标签 每个反应都以正确的方式放置 但我无法放置迷你图 这是代码 http plnkr co edi
  • D3.js - 如何迭代数据集中的子数组

    我试图让 d3 迭代数据中的子数组并生成多个饼图 这是完整的代码 来自https gist github com mbostock 1305111 https gist github com mbostock 1305111 and htt
  • 如何使用 jQuery 循环 JSON 文件

    我正在尝试循环下面的 JSON 文件 statements subject A predicate B object C subject D predicate E object F 正如您所看到的 有两个主语 两个谓语和两个宾语 例如 我
  • 当节点扩展时增加d3中的连接链路长度

    我正在 d3 中研究可折叠力布局 我面临的问题是 当单击节点时 我需要增加节点之间链接的长度 以保持子节点之间的链接距离相同 当分析扩展时 如何增加分析和耀斑之间的距离 保持与子级的距离较小 是的 您可以通过定义一个函数来做到这一点力 链接
  • d3.js 和 Chart.js 之间的比较(仅适用于图表)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在项目中多次使用过 Chart js 但从未使用过 d3 js 很多人说 d3 js 是最好的图表 javascript 框架 但没
  • d3.js:在树布局中展开多个路径

    My JSON contains same node names in different paths I would like to be able to open all children with the same name or h
  • d3.select 不适用于特殊字符

    我正在使用 d3 js 处理简单的图表 假设下面的 div 是我计划放置 d3 的 svg 容器的地方 div 但是当我使用 d3 select my div chart 我无法选择特定的 div 但是通过使用 java 脚本选择器 它可以
  • 为什么这个标题图形不随世界更新

    对于以下内容 我很高兴组合框默认为世界 但当收音机被点击时 我也希望标题移回 世界 我该怎么做 我有这个笨蛋 http plnkr co edit 9FXJXVqLZLPFdDrmVJez p preview http plnkr co e
  • 使用 d3 在两个节点之间绘制多条边

    我一直在关注 Mike Bostock 的代码这个例子 http bl ocks org 1153292学习如何在 d3 中绘制有向图 并且想知道如何构建代码 以便可以在图中的两个节点之间添加多个边 例如 如果上例中的数据集定义为 var
  • 需要帮助在 D3.js 条形图中将 x 轴刻度与条形对齐

    我有一个可用的线性条形图D3 js http d3js org 它也有基于时间的 x 轴 条形图绑定到计数属性 而轴绑定到日期属性 轴上的刻度未与条形对齐 知道如何将它们两者排列起来吗 这是 jsFiddle http jsfiddle n
  • NVD3/D3改变y轴最小值

    我目前正在使用 NVD3 制作一些折线图 我想知道是否可以使 y 轴刻度始终从 0 开始 目前它始终从最低的 y 值开始 我尝试过使用tickValues 但我不想更改其他值 我还尝试添加值为 0 的数据点 但这似乎是一种解决方法 它会影响
  • 在 d3v4 堆积条形图中使用 JSON

    我找到了一个d3v3堆积条形图示例 http bl ocks org mstanaland 6100713我想使用它 因为它使用 json 数据 还有一个d3v4规范条形图示例 https bl ocks org mbostock 3886
  • 将任何 D3.js 图表与 DC.js 集成

    我试图弄清楚如何轻松地将任何 D3 js 图表与 DC js 库集成 以便在所有图表之间使用交叉过滤功能 我也确实理解以前曾问过这种性质的问题 添加链接以供参考 DC js 监听图表组渲染 https stackoverflow com q
  • D3 旭日弧尺寸

    我正在尝试根据以下示例创建 D3 旭日图 https bl ocks org maybelinot 5552606564ef37b5de7e47ed2b7dc099 https bl ocks org maybelinot 55526065
  • 分配函数后如何删除 onmouseout 事件?

    我有一个问题 我正在为 onmouseout 事件分配一个函数 但运行该事件后 我需要将其删除 将非常感谢您的帮助 这取决于你的代码 如果你用 d3 这样做 那么你可以说 在 onmouseout 事件函数中 element on mous
  • 将文本放置在矩形的中心

    在下面的代码中 文本没有放置在矩形的中心 我使用的是 attr dx x bandwidth 2 attr dy y bandwidth 2 有没有办法将文本中心放置在矩形中 而不是反复试验 目前它看起来像这样 朝底部和朝右 以下是我的代码
  • D3 v4 在同一元素上进行画笔和缩放(鼠标事件不冲突)

    我的目标是构建一个使用两者的 D3 v4 图表d3 zoom https github com d3 d3 zoom and d3 brush https github com d3 d3 brush一起 如下 当鼠标位于 x 轴上时 用户

随机推荐

  • 如何使用 jQuery 1.x 检测/处理 net::ERR_BLOCKED_BY_CLIENT?

    我正在尝试使用一个简单的脚本来检测内容拦截器 广告拦截扩展 基于主机的拦截 基于代理的拦截 如下所示 try ajax url pagead2 googlesyndication com pagead js adsbygoogle js d
  • 如何使用 NodeJS 在 SSH2 上执行多个命令

    我正在尝试使用 我想按照数组的顺序执行多个命令 从 GitHub 进行部署 我现在使用的代码包含在下面 async series Deploy from GitHub function callback Console shizzle co
  • 如何从 Ruby 中的 MULTI 块内的 Redis 读取数据?

    我在 MULTI 事务中封装了一组复杂的 Redis 命令 但事务中的逻辑取决于 Redis 中已有的值 但事务中的所有读取似乎都会返回nil 下面是一个演示该问题的示例 Dev gt redis set foo bar gt OK Dev
  • VBA 系统.集合.队列

    我刚刚发现here http analystcave com excel vba dictionary arrays and other data structures The VBA Queue 内置 Stacks and Queues可
  • Web 视图不适用于某些特定的 url

    public class MainActivity extends AppCompatActivity String url https www pinterest com Override protected void onCreate
  • 如何使用 swift 验证本地玩家?

    我正在尝试将游戏中心集成到我的游戏中并创建排行榜 我已经在 iTunes Connect 上创建了排行榜 启用了游戏中心并创建了一个沙盒测试器 尽管如此 我还是有这个错误 not able to authenticate fail erro
  • 使用 ruby​​ on Rails 安装 Susy 和 Compass

    我刚刚开始使用 ruby on Rails 我尝试做的第一件事就是安装 gems compass 和 susy 在弄清楚我需要将它们包含在 gemfile 中之后 我正在使用 RubyMine 并认为它会为我做这件事 当我尝试将 susy
  • 无损图像压缩工具[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Running 谷歌页面速度 https developers google com speed 在公
  • 如何在 Web 浏览器视图中从 Ionic 应用程序打开外部链接

    第 1 步 Ionic 创建新应用程序 离子启动 myApp1 侧菜单 第 2 步 创建新页面主页和关于我们 离子生成关于我们的页面 步骤 3 在 关于我们 页面创建按钮 将 URL 重定向到另一个网站 aboutus html GO ab
  • “很抱歉,出了点问题”:rails + nginx + puma + digitalocean + ssl

    我刚刚在生产服务器上的 Rails 应用程序上成功配置了 ssl 但现在 当我尝试访问该站点时 我收到 我们很抱歉 但出了点问题 错误 如果我不使用任何 ssl 设置来禁用 ssl 我的 Rails 应用程序将运行得很好 只有当我使用ssl
  • vim的正则表达式解释

    如果我想要所有带有文本 ruby 但不带有 myruby 的行 那么这就是我要做的 g
  • Rails 中的受保护方法和私有方法

    Ruby 中的方法可见性 公共 受保护和私有方法 已在以下地方得到了很好的解释 这篇博文 http weblog jamisbuck org 2007 2 23 method visibility in ruby 但在 Ruby on Ra
  • python 日志记录关闭和应用程序退出

    我在应用程序中使用日志记录模块 我想到如果日志记录模块支持一种可以优雅地关闭文件句柄等然后关闭应用程序的方法 那就太好了 例如 logger logging getLogger my app logger fatal We re toast
  • Windows 上的 SSH ControlMaster 与 Cygwin 真的可行吗?

    有没有人能够在 Windows 上使用 control master 和 cygwin 创建多个会话而无需重复登录 我需要自动执行一系列 SSH 步骤 但无法要求用户每次都输入所需的标记化密码 我已经配置了我的 cygwin ssh con
  • JDBC 中缺少 dll

    我目前正在 Java 中使用 SQL 最近我收到这个错误 com microsoft sqlserver jdbc AuthenticationJNI
  • mvc 4 windows Azure Request.Url 中的端口号错误

    我正在编写一个小型的 asp net MVC4 Web 应用程序 项目模板是 Visual Studio 2012 中的 azure mvc 4 模板 当我在 razor 视图中请求 Request Url 时 我得到了错误的端口号 例如
  • 从当前日期减去 7 天

    看来我不能从当前日期减去7天 这就是我正在做的 NSCalendar gregorian NSCalendar alloc initWithCalendarIdentifier NSGregorianCalendar NSDateCompo
  • Redux 不会立即更新状态

    我对 Redux 有问题 更可能不是问题而是误解 如果我在函数中进行分派并在存储中写入新值 那么我无法立即从存储中获取该函数的新值 Example testFunc gt console log in func before this pr
  • 如何将地图投影从太平洋中心更改为大西洋中心?

    library sf library tidyverse 我有一个 sf 对象 几何类型 点 预计太平洋上空 bbox xmin 0 ymin 78 xmax 359 ymax 0 WGS 84 我想将 sf 对象重新投影到太平洋中心 0
  • d3.js 堆栈布局从 v3 升级到 v4

    使用 D3 v3 我格式化了数据以匹配 Mike 的示例 以快速启动我的开发过程 示例页面在这里https github com d3 d3 3 x api reference blob master Stack Layout md htt