Javascript D3梯度起点
我有一张圆形图表,但我正在努力使梯度从每一段的中心开始,填充到边缘。有人能帮我吗Javascript D3梯度起点,javascript,d3.js,svg,Javascript,D3.js,Svg,我有一张圆形图表,但我正在努力使梯度从每一段的中心开始,填充到边缘。有人能帮我吗 var gradient = vis.append("defs") .append("linearGradient") .attr("id", "gradient") .attr("x1", "0%") .attr("y1", "0%") .attr("x2", "100%") .attr("y2", "100%") .attr("spreadMethod", "pad"); grad
var gradient = vis.append("defs")
.append("linearGradient")
.attr("id", "gradient")
.attr("x1", "0%")
.attr("y1", "0%")
.attr("x2", "100%")
.attr("y2", "100%")
.attr("spreadMethod", "pad");
gradient.append("stop")
.attr("offset", "0%")
.attr("stop-color", "#61B5C3")
.attr("stop-opacity", 1);
gradient.append("stop")
.attr("offset", "100%")
.attr("stop-color", "#5393AC")
.attr("stop-opacity", 1);
好的,我用径向梯度算出了这个
var radialGradient = vis.append("defs")
.append("radialGradient")
.attr("id", "radialGradient")
.attr("cx", "0%")
.attr("cy", "0%")
.attr("r", "50%")
.attr("fx", "0%")
.attr("fy", "0%")
.attr("spreadMethod", "pad")
.attr("gradientUnits", "userSpaceOnUse");
下面是一个工作示例:您不想要径向梯度吗?我也用径向梯度进行了测试,我想问题在于cx和cy坐标都需要根据线段的位置进行动态调整。所以我想这里需要一个工厂函数。你可以接受你自己的答案,所以允许它(几小时后)。