Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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 重叠图例d3.js_Javascript_D3.js - Fatal编程技术网

Javascript 重叠图例d3.js

Javascript 重叠图例d3.js,javascript,d3.js,Javascript,D3.js,我正在创建三角形形状的图例。一个是“是”,另一个是“否”。通过运行下面的代码,它将生成两个三角形,但它们是重叠的。我试图通过使用这行代码.attr(“y”,函数(d,I){return 50+I*40;})将它们分开,但它似乎不起作用。 有人能告诉我怎么修吗?谢谢 必须更新组的“平移y”属性,而不是路径。而且也不需要额外计算文本和路径的y属性 .attr("transform", function(d, i) { return "translate(" + (w + 150)

我正在创建三角形形状的图例。一个是“是”,另一个是“否”。通过运行下面的代码,它将生成两个三角形,但它们是重叠的。我试图通过使用这行代码
.attr(“y”,函数(d,I){return 50+I*40;})
将它们分开,但它似乎不起作用。 有人能告诉我怎么修吗?谢谢


必须更新组的“平移y”属性,而不是路径。而且也不需要额外计算文本和路径的y属性

.attr("transform", function(d, i) {
        return "translate(" + (w + 150) + "," + (30+i*40) + ")";
 });
工作代码片段:
var w=40//样本图表宽度
var color=d3.scale.category20c();
var svg=d3.select(“body”).append(“svg”).attr({height:500,width:400});
变量legendname=[“是”、“否”];
var legend=svg.selectAll(“.legend”)
.数据(legendname)
.enter().append(“g”)
.attr(“类”、“图例”)
.attr(“转换”,函数(d,i){
返回“translate”(“+(w+150)+”,“+(30+i*40)+”);
});
图例.append(“路径”)
.attr(“d”,d3.svg.symbol().type(“三角形向上”).size(128))
.样式(“填充”,功能(d,i){
返回颜色(i);
});
图例。追加(“文本”)
.attr(“dx”,10)
.attr(“dy”,“.4em”)
.文本(功能(d){
返回d;
})

三角形或文本是否重叠?当你说它“似乎不起作用”是什么意思?只是三角形。文本不重叠。我的意思是我试着用这个,attr(“y”,函数(d,I){return 50+I*40;})把它们分开,这是一条有星星的线。但是没有什么变化,它们仍然重叠。看起来你的路径是一样的,这就是为什么三角形重叠路径应该是一样的。因为它们是相同的三角形,只是颜色不同。
.attr("transform", function(d, i) {
        return "translate(" + (w + 150) + "," + (30+i*40) + ")";
 });