javascript - 需要帮助重构到 D3.js V5(来自 V2)
问题描述
我正在尝试重构我的代码以使其与 d3.js v5 兼容(它与 v2 兼容)。
我正在梳理这里的文档,但我仍然感到困惑。 https://github.com/d3/d3/blob/master/CHANGES.md
这是我的原始代码块(D3.js v2):
<script src="js/libs/d3.v2.js"></script>
var pack = d3.layout.pack()
.sort(null)
.size([width, height])
.children(function(d) { return d.values; })
.value(function(d) { return d.radius * d.radius; })
.nodes({values: d3.nest()
.key(function(d) { return d.cluster; })
.entries(nodes)});
这很好用。但是当我进行以下更改时...
<script src="https://d3js.org/d3.v5.min.js"></script>
<script src="https://d3js.org/d3-array.v2.min.js"></script>
<script src="https://d3js.org/d3-color.v2.min.js"></script>
<script src="https://d3js.org/d3-format.v2.min.js"></script>
<script src="https://d3js.org/d3-interpolate.v2.min.js"></script>
<script src="https://d3js.org/d3-time.v2.min.js"></script>
<script src="https://d3js.org/d3-time-format.v3.min.js"></script>
<script src="https://d3js.org/d3-scale.v3.min.js"></script>
// var pack = d3.layout.pack()
var pack = d3.pack()
.sort(null)
.size([width, height])
.children(function(d) { return d.values; })
.value(function(d) { return d.radius * d.radius; })
.nodes({values: d3.nest()
.key(function(d) { return d.cluster; })
.entries(nodes)});
我得到:
Uncaught (in promise) TypeError: d3.pack(...).sort is not a function
我有点困惑,因为我将更改d3.layout.pack()
从d3.pack()
...
这是我的 csv 的快照:
index | name | rating | type | city | state | ...
1. bob. 7. man. nyc. ny
任何帮助将不胜感激
解决方案
推荐阅读
- deep-learning - nltk.download("wordnet") 完成了什么
- python - pytest 和 python 测试:报告为 python 函数编写的测试用例
- core-data - 更新 NSHostingView 的关于单元重用的 SwiftUI 视图
- django - DRF如何获取按类别分组的项目
- email - 如果收到正确的触发器,有没有办法设置电子邮件地址以发送特定电子邮件?
- sockets - Socket编程:设置服务器,端口为80则运行,端口为其他则无法运行
- azure - Power 自动创建密码
- java - 如何使用 VirtualSticks 实际控制无人机
- java - HashMap的HashMap->输出问题
- expo - 无论 initialRegion 参数如何,MapView 都会在赤道上检索非洲地图?