Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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
使用svg在d3中创建规则_Svg_D3.js - Fatal编程技术网

使用svg在d3中创建规则

使用svg在d3中创建规则,svg,d3.js,Svg,D3.js,我想使用d3.js创建一个动态垂直规则,就像这里的规则一样: 我之前在这里()问过如何使用HTML创建一个,但是使用HTML的解决方案在cubism svg上不是很有效,因为它会闪烁并消失 我现在想用SVG创建一个 我已经尝试使用这里的代码()创建了一个,但是我无法将其定位在现有svg之上,并使其动态更新 非常感谢您的帮助 编辑:现有的svg是由一个名为cubism.js的d3插件创建的,因此我无法访问底层的svg。虽然它本身工作得很好,但这个svg会像这样向下推其他元素(svg行在左手边):

我想使用d3.js创建一个动态垂直规则,就像这里的规则一样:

我之前在这里()问过如何使用HTML创建一个,但是使用HTML的解决方案在cubism svg上不是很有效,因为它会闪烁并消失

我现在想用SVG创建一个

我已经尝试使用这里的代码()创建了一个,但是我无法将其定位在现有svg之上,并使其动态更新

非常感谢您的帮助

编辑:现有的svg是由一个名为cubism.js的d3插件创建的,因此我无法访问底层的svg。虽然它本身工作得很好,但这个svg会像这样向下推其他元素(svg行在左手边):


我希望规则位于现有图形之上,这就是为什么我提到定位在另一个svg之上。对不起,如果我第一次没有说清楚的话。

就像Lars指出的那样,这个条可能是现有svg的一部分

使用svg而不是DIV实际上使代码更加简单:

javascipt:

d3.select('#svg').on('mousemove', function() {
    var xpos = d3.event.pageX;
    d3.select('#bar').attr('x', xpos);
});
html:



您不需要将其放置在现有SVG上,您可以将其作为SVG的一部分。你能把你到目前为止试过的东西的代码贴出来吗?
<svg id="svg"width="500" height="500">
    <ellipse cx="125" cy="125" rx="125" ry="10" fill="red" />
    <rect id="bar" x="10" y="0" width="10" height="500"></rect>
</svg>