Javascript 无法在Qlik视图扩展对象窗口中为d3树贴图生成链接

Javascript 无法在Qlik视图扩展对象窗口中为d3树贴图生成链接,javascript,svg,d3.js,qlikview,Javascript,Svg,D3.js,Qlikview,我正在尝试创建一个Qlikview扩展对象来构建D3树形图。 下面是D3中树形图的链接 因此,我能够读取父节点和子节点,也能够在Qlikview对象窗口上绘制节点(点) 但是,在d3.v2.js/d3.js/d3.v3.min.js中调用d3.svg.diagonal()函数时,代码在生成链接时抛出错误 下面是脚本抛出错误的代码段 var diagonal = d3.svg.diagonal().projection(function(d) { return [d.y, d.x]; });

我正在尝试创建一个Qlikview扩展对象来构建D3树形图。 下面是D3中树形图的链接

因此,我能够读取父节点和子节点,也能够在Qlikview对象窗口上绘制节点(点)

但是,在d3.v2.js/d3.js/d3.v3.min.js中调用d3.svg.diagonal()函数时,代码在生成链接时抛出错误

下面是脚本抛出错误的代码段

var diagonal = d3.svg.diagonal().projection(function(d) { return [d.y, d.x]; });


// Create the link lines.
  svg.selectAll(".link")
  .data(links)
  .enter().append("path")
  .attr("class", "link")  
  .attr("d", diagonal);     
错误:“无法获取属性“y”的值:对象为null或未定义

下面是d3.v2.js中的对角线函数,其中第3行抛出了错误

d3.svg.diagonal = function() {
function diagonal(d, i) {
  var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, {
    x: p0.x,
    y: m
  }, {
    x: p3.x,
    y: m
  }, p3 ];
  p = p.map(projection);
  return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3];
}
var source = d3_svg_chordSource, target = d3_svg_chordTarget, projection = d3_svg_diagonalProjection;
diagonal.source = function(x) {
  if (!arguments.length) return source;
  source = d3_functor(x);
  return diagonal;
};
diagonal.target = function(x) {
  if (!arguments.length) return target;
  target = d3_functor(x);
  return diagonal;
};
diagonal.projection = function(x) {
  if (!arguments.length) return projection;
  projection = x;
  return diagonal;
};
return diagonal;
};
好心帮忙

这是我使用的数据。它是一个简单的.csv文件,没有x,y值:

source,target
flare,animate
flare,analytics
analytics,cluster
analytics,graph
animate,sequence
animate,transition
animate,interpolate
cluster,agglomerativeCluster
cluster,hierarchicalCluster
interpolate,arrayInterpolator
interpolate,colorInterpolator
interpolate,dateInterpolator

您的数据看起来像什么?它是否具有
x
y
属性?不,我的数据是一个简单的CSV文件:源、目标光斑、动画光斑、分析分析、群集分析、图形动画、序列动画、过渡动画、插值群集、聚集群集、hierarchicalCluster interpolator interpolator interpolator interpolator interpolator,colorInterpolator interpolator interpolator,dateinterpolator您需要将数据传递到如示例中所示的布局,以使其设置绘制所需的
x
y
属性。数据以与示例中所述相同的格式传递。当D3代码读取da时ta直接从CSV文件中读取,它运行良好,并在浏览器上提供输出。但当它从Qlikview读取相同的CSV数据文件时,会抛出上述错误。事实上,它在Qlikview扩展对象窗口上打印节点,该窗口的代码段中也有“d.x”和“d.y”,但问题仅限于链接。听起来像是您获得的数据两种情况下的ting是不同的。