如何在矩形内添加多边形?,下面是我的代码,但它没有在矩形内显示多边形。你能不能帮助我。
var svgContainer = d3.select("body").append("svg")
var rectangle = svgContainer.append("rect")
.style("stroke", "black")
.style("fill", "none")
.attr("x", 50)
.attr("y", 50)
.attr("width", 100)
.attr("height", 100);
var cir = rectangle.append("polygon") // attach a polygon
.style("stroke", "black") // colour the line
.style("fill", "none") // remove any fill colour
.attr("points", "30,50,100,150,100,150"); // x,y points
答案 0 :(得分:1)
你在rect DOM中使用不正确的多边形 您应该将多边形附加到svg 所以它应该是
svgContainer.append("polygon")
以下更正的代码:
var svgContainer = d3.select("body").append("svg")
var rectangle = svgContainer.append("rect")
.style("stroke", "black")
.style("fill", "none")
.attr("x", 50)
.attr("y", 50)
.attr("width", 100)
.attr("height", 100);
var cir = svgContainer.append("polygon") // attach a polygon to the svg
.style("stroke", "black") // colour the line
.style("fill", "none") // remove any fill colour
.attr("points", "30,50,100,150,100,150"); // x,y points
工作小提琴here
要使多边形出现在矩形内,您需要相应地提供多边形点/坐标。 只需在rect DOM元素中创建多边形就不会使其显示为矩形。 希望这能解决你的问题。