d3中标记尺寸均匀

时间:2013-09-12 15:20:49

标签: javascript svg d3.js

我在力导向图上创建了标记。在我的力导向图中,我有不同厚度或笔划的线条或链接。因此,标记会以不同的大小创建。我想要的是有统一的标记大小。 这是我的标记代码:

 `svg.append('defs').append('svg:marker')
  .classed("arrowhead",true)
  .attr('id', 'arrowhead')              
  .attr('viewBox', '0 -5 40 40')
  .attr('refX', "25")
  .attr('markerWidth', 8)
  .attr('markerHeight', 8)
   .attr('orient', 'auto')
   .append('svg:path')
  .attr('d', 'M0,-5L10,0L0,5')
  .attr('fill', 'black');`

我怎么能有统一大小的标记? 提前谢谢..

1 个答案:

答案 0 :(得分:1)

默认情况下,标记相对于笔触宽度(请参阅spec),但您可以在标记元素上设置markerUnits="userSpaceOnUse"以使标记大小不相对于笔触宽度。< / p>

为了澄清,这不会使标记大小变为静态,并且对于使用标记的所有元素都是相同的。渲染的标记仍然受使用标记的元素的变换集的影响。但它确实使尺寸与笔画宽度无关。