2017-04-04 52 views
-1

我使用D3.js,我尝试在svg中创建一个svg。 例如我的第一个SVG是这样的:如何在svg中使用svg?

var svg = d3.selectAll('body') 
     .append('svg') 
     .attr('width',500) 
     .attr('height',500); 

然后我想创建这第一个内部的第二SVG,我希望它出现在我的第一个SVG的右上角。这怎么可能?我想到了第二个svg的width = 100和height = 100的属性。这个问题的原因是,我在D3.js中使用了force-layout,根据数据的输入它可能很大。所以我想把图表本身放在第一个大的svg和其他信息,比如更小的第二个svg中的文本。如果有div元素的解决方案可能会更好,请让我知道。

回答

0

只在第一个附加另一个SVG。

var svg = d3.selectAll('body') 
     .append('svg') 
     .attr('width',500) 
     .attr('height',500); 

    var innerSVG = svg.append('svg') 
     .attr('width',100) 
     .attr('height',100); 
+0

不知道如果我做错了。但屏幕完全是白色的,因为它是另一个白色svg上的白色svg? –

+0

他们没有默认样式。它们只是透明的。 –