D3:多系列图表不适用于上一版本
D3: Multi-Series chart not working with last version
我试图创建一个多系列折线图,我发现了这个有用的例子http://bl.ocks.org/bobmonteverde/2070069.
问题是,它适用于前一版本的d3(版本2),也适用于上一版本(版本3)的一些问题。经过调试,我发现D3的转换函数在尝试执行transition = node[ns][id0]
时出错,并且node[ns]
未定义。我有这个正在工作的小提琴http://jsfiddle.net/jupa_aguilar/0L1pyw8u/.我还观察到,对于d3.v2.js,d3_selectionPrototype.transition
是:
d3_selectionPrototype.transition = function() {
var subgroups = [], subgroup, node;
for (var j = -1, m = this.length; ++j < m; ) {
subgroups.push(subgroup = []);
for (var group = this[j], i = -1, n = group.length; ++i < n; ) {
subgroup.push((node = group[i]) ? {
node: node,
delay: d3_transitionDelay,
duration: d3_transitionDuration
} : null);
}
}
return d3_transition(subgroups, d3_transitionId || ++d3_transitionNextId, Date.now());};
对于d3.v3.js:
d3_transitionPrototype.transition = function() {
var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition;
for (var j = 0, m = this.length; j < m; j++) {
subgroups.push(subgroup = []);
for (var group = this[j], i = 0, n = group.length; i < n; i++) {
if (node = group[i]) {
transition = node[ns][id0];
d3_transitionNode(node, i, ns, id1, {
time: transition.time,
ease: transition.ease,
delay: transition.delay + transition.duration,
duration: transition.duration
});
}
subgroup.push(node);
}
}
return d3_transition(subgroups, ns, id1);};
对此有什么想法吗?
最好使用D3最新版本启动代码。D3的最新版本与上一个版本相比有一些变化。
所以,请从互联网上用你的舒适版本来检查这个例子,并尝试实现它,而不是自己将旧版本的图表转换为新版本。
如果您想查看示例,请访问D3 V3 的多系列折线图
相关文章:
- AddEventListener适用于浏览器,但不适用于Android
- 查找仅适用于原始图像的图像放大算法的名称
- 如何在category.php中执行jquery,这应该适用于类别wordpress中的每个帖子
- Web编程,简单但适用于机器人项目
- JavaScript不适用于internet explorer和Firefox,但适用于谷歌
- Jquery事件处理程序仅适用于匿名函数
- jQuery调整大小函数只适用于窗口
- 火灾在卸载前确认警报仅适用于外部站点
- EmberJS-适用于各种模型的适配器动态名称空间
- Facebook共享链接适用于用户,但不适用于粉丝页面管理员
- jQuery-适用于移动设备的多级菜单
- 循环中的切换脚本只适用于第一次迭代
- 为什么setTimeout适用于无休止的递归调用
- 我未保存的更改指令需要适用于具有不同名称的所有表单
- 适用于多种浏览器的Selenium-需要能够执行javascript的webDriver
- Sails.js/Waterline.add()和.remove()仅适用于第二次调用
- 我怎么能有一个自动渐变背景使用JavaScript,它适用于最新版本的Internet Explorer
- 如何获取/设置当前页面URL(适用于时空浏览器版本)
- 将客户端引导到正确的页面以下载适用于其操作系统版本的IE
- jquery.on()只适用于较低版本的jquery