我正在尝试使用d3创建模糊弧。我正在创建弧并应用feGaussianBlur滤镜。但是,当我使用太高的标准偏差时,模糊似乎会碰到为弧创建的容器的边界。
增加容器的整体大小不会影响单个弧。是否可以增加弧形容器的尺寸?
var svgContainer = d3.select(".rainbow").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width/2 + "," + height/2 + ")");
//Define Arc
var arc = d3.arc()
.innerRadius(50)
.outerRadius(55)
.startAngle(-2)
.endAngle(2)
// Container for the gradient
var defs = svgContainer.append("defs");
// Filter for the glow
var filter = defs.append("filter")
.attr("id","glow");
filter.append("feGaussianBlur")
.attr("stdDeviation","10");
//Adding arc
var path = svgContainer.selectAll("g.arc")
.data('foo')
.enter().append("g")
.attr("class", "arc");
//Adding to path
path.append("path")
.attr("d", arc)
.style("filter", "url(#glow)");
我希望模糊可以扩展到所需的程度,但是它受到某些容器的约束,在圆弧周围形成了一个盒子,并切除了模糊的边缘。