d3.js钻石符号大小功能

时间:2013-11-22 15:06:37

标签: d3.js size symbols

我想在D3中使用“钻石”符号。 我不确定D3中符号的大小是如何工作的。我的要求是:

svg = d3.select("svg"); 
svg.append("g").append("path")
    .attr("d", d3.svg.symbol()
    .size( function(d) { return 15 })
    .type( function(d) { return "diamond" }))
    .attr("transform", "translate(250, 150)")    
    .style("fill", "black");

我希望钻石的高度设置为15px。谁可以帮我这个事 ?提前谢谢。

2 个答案:

答案 0 :(得分:0)

尝试:

.size( function(d) { return 15*15 })

来自documentation

  

将size-accessor设置为指定的函数或 square 中的常量   像素

答案 1 :(得分:0)

由于我需要一个确切的高度/宽度,最后使用这样的东西来获得“d”属性:

if (shape == "triangle") {
 return "M " + dim / 2 + " 0 L " + dim + " " + dim + " L 0 " + dim + " " + dim / 2 + " 0";
}

if (shape == "diamond") {
 return "M " + dim / 2 + " 0 L " + dim + " " + dim / 2 + " L " + dim / 2 + " " + dim + " L 0 " + dim / 2 + " L " + dim / 2 + " 0";
}

其中“dim”是高度值。