Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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 如何在SVG上使用箭头标记<;生产线>;元素?_Javascript_D3.js_Svg_Graphics - Fatal编程技术网

Javascript 如何在SVG上使用箭头标记<;生产线>;元素?

Javascript 如何在SVG上使用箭头标记<;生产线>;元素?,javascript,d3.js,svg,graphics,Javascript,D3.js,Svg,Graphics,我需要在d3.js中创建一个箭头,但我找到的只是节点图示例。我需要的是简单地制作一个从A点到B点的箭头 我尝试在以下示例中实现部分代码: 这一具体部分: svg.append("svg:defs").selectAll("marker") .data(["suit", "licensing", "resolved"]) .enter().append("svg:marker") .attr("id", String) .attr("viewBox", "0 -5 10

我需要在d3.js中创建一个箭头,但我找到的只是节点图示例。我需要的是简单地制作一个从A点到B点的箭头

我尝试在以下示例中实现部分代码:

这一具体部分:

svg.append("svg:defs").selectAll("marker")
    .data(["suit", "licensing", "resolved"])
  .enter().append("svg:marker")
    .attr("id", String)
    .attr("viewBox", "0 -5 10 10")
    .attr("refX", 15)
    .attr("refY", -1.5)
    .attr("markerWidth", 6)
    .attr("markerHeight", 6)
    .attr("orient", "auto")
  .append("svg:path")
    .attr("d", "M0,-5L10,0L0,5");
但是正如我前面提到的,我没有找到用
svg:line

非常感谢您能为我提供的帮助。

如果您的意思是“如何在元素上使用箭头标记”,那么以下是您的做法:

<line x1="100" y1="230" x2="300" y2="230" 
 marker-end="url(#yourMarkerId)" stroke="black" stroke-width="10"/>

这是一份完整的报告。请注意,
marker end
是一个css属性,因此如果需要,也可以将该部分放入样式表中


如果您想用线绘制标记,则只需添加所需的线作为标记元素的子元素(并确保使用标记的viewBox属性定义的坐标系)。

svg:line只能从a到B,只有chuck norris可以在一个笔划中绘制箭头。尝试多段线或路径…标记起点和标记终点的可能副本工作正常,但中间线不工作…请检查@dom,这应该是一个新问题,因为这将帮助其他人更容易找到答案。无论如何,中间标记实际上需要有一条中间线段,例如,一条有三个点的多段线。起点标记将是起点,终点标记将是终点,中间标记将用于终点和起点之间的所有点。有关多段线解决方案,请参见。