Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3:多系列图表不适用于上一版本_Javascript_D3.js_Nvd3.js - Fatal编程技术网

Javascript D3:多系列图表不适用于上一版本

Javascript D3:多系列图表不适用于上一版本,javascript,d3.js,nvd3.js,Javascript,D3.js,Nvd3.js,我试图创建一个多系列折线图,我发现了这个有用的例子 问题是,它在d3的早期版本(版本2)中运行良好,而在最后一个版本(版本3)中存在一些问题。调试后,我发现D3尝试执行transition=node[ns][id0]时,错误出现在transition函数中,节点[ns]未定义。我有一个工作台。我还观察到,对于d3.v2.js,d3\u selectionPrototype.transition是: d3_selectionPrototype.transition = function() { v

我试图创建一个多系列折线图,我发现了这个有用的例子

问题是,它在d3的早期版本(版本2)中运行良好,而在最后一个版本(版本3)中存在一些问题。调试后,我发现D3尝试执行
transition=node[ns][id0]
时,错误出现在transition函数中,
节点[ns]
未定义。我有一个工作台。我还观察到,对于d3.v2.js,
d3\u 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\u selectionPrototype.transition=function(){
变量子组=[],子组,节点;
对于(var j=-1,m=this.length;++j
对于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_transitionPrototype.transition=function(){
var id0=this.id,id1=++d3_transitionId,ns=this.namespace,subgroups=[],subgroups,group,node,transition;
对于(var j=0,m=this.length;j

有什么想法吗?

最好从D3最新版本开始编写代码。D3最新版本与上一版本相比有一些变化

所以,请用你们在互联网上的舒适版本检查这个例子,并尝试实现它,而不是自己将旧版本图表转换成新版本

如果您想查看示例,请访问此

最好从D3最新版本开始编写代码。D3最新版本与上一版本相比有一些更改

所以,请用你们在互联网上的舒适版本检查这个例子,并尝试实现它,而不是自己将旧版本图表转换成新版本

如果您想查看示例,请访问此

你在小提琴上放的是一些疯狂的杂耍!您内联了图表lineWithLegend的一些代码片段,这些代码属于非常非常旧的NVD3版本。该图表早在2012年6月就已被弃用,并从NVD3中删除。这个旧版本的NVD3是基于D3V2的,这就是为什么它在这种设置下工作。我怀疑,尝试运行此配置是否值得。我建议更新到最新版本的D3和NVD3,从头开始。这可能会快得多,并使你免于头痛。这是有道理的!我将使用每个库的最新版本。谢谢那是你放在小提琴上的一些疯狂的杂耍!您内联了图表lineWithLegend的一些代码片段,这些代码属于非常非常旧的NVD3版本。该图表早在2012年6月就已被弃用,并从NVD3中删除。这个旧版本的NVD3是基于D3V2的,这就是为什么它在这种设置下工作。我怀疑,尝试运行此配置是否值得。我建议更新到最新版本的D3和NVD3,从头开始。这可能会快得多,并使你免于头痛。这是有道理的!我将使用每个库的最新版本。谢谢谢谢你的帮助谢谢你的帮助