D3渐变起点

时间:2016-06-27 09:23:04

标签: javascript d3.js svg

我有这个循环图 - https://jsfiddle.net/kyleopperman/aacgzxed/ - 但我正在努力让渐变从每个片段的中心开始并填充到边缘。任何人都可以帮我这个吗?

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);

1 个答案:

答案 0 :(得分:1)

好的,我已经设法使用radialGradient

来解决这个问题
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");

以下是工作示例:https://jsfiddle.net/kyleopperman/aacgzxed/1/