Javascript d3簇散点图-回调d属性
我想用d3渲染一个簇散点图。每个数据点都应该有不同的符号,这取决于它所属的集群Javascript d3簇散点图-回调d属性,javascript,d3.js,coffeescript,Javascript,D3.js,Coffeescript,我想用d3渲染一个簇散点图。每个数据点都应该有不同的符号,这取决于它所属的集群 svg.selectAll("path") .data(mds) .enter() .append("path") .attr("transform", (d, i) -> "translate(" + xMap(d) + "," + yMap(d) + ")") .attr("d", get_symbol(0))
svg.selectAll("path")
.data(mds)
.enter()
.append("path")
.attr("transform", (d, i) -> "translate(" + xMap(d) + "," + yMap(d) + ")")
.attr("d", get_symbol(0))
.attr("fill", (d, i) -> "#f00")
get_symbol = (i) -> d3.svg.symbol().type(d3.svg.symbolTypes[i]).size(80)
到目前为止,这是有效的。我有一个函数get_clusteri,它获取元素所属的集群号。但是当我换线的时候
.attr("d", get_symbol(0))
到
我得到一个错误:
Error: Invalid value for <path> attribute d="function n(n,r){return(zl.get(t.call(this,n,r))||Oo)(e.call(this,n,r))}"
为什么我可以将回调传递给所有attr函数,而不是这个函数?编译后的JS是什么样子的?你能把它贴出来吗?看起来函数没有被调用…我不知道它在Coffee脚本中是如何工作的,但是您需要立即调用函数表达式来返回访问器,就像这里提供的函数I{return function d,I{…}js输出:酷蓝,我不确定这是什么意思。你能在我的例子中发布代码js或coffee无关紧要吗?链接中的代码是错误的版本吗?它看起来像是一个好的。。。
Error: Invalid value for <path> attribute d="function n(n,r){return(zl.get(t.call(this,n,r))||Oo)(e.call(this,n,r))}"
.attr("d", (d, i) -> get_symbol(0))