【发布时间】:2018-01-17 21:11:45
【问题描述】:
我正在使用 d3 v4。我想创建一个折线图,其中图表下方的区域是一个由顶部的暗到底部的亮的渐变填充的区域。我认为这是配置这种渐变的方法
svg.append("linearGradient")
.attr("id", "area-gradient")
.attr("gradientUnits", "userSpaceOnUse")
.attr("x1", 0).attr("y1", y(0))
.attr("x2", 0).attr("y2", y(1000))
.selectAll("stop")
.data([
{offset: "0%", color: "navy"},
{offset: "30%", color: "navy"},
{offset: "45%", color: "navy"},
{offset: "55%", color: "navy"},
{offset: "60%", color: "navy"},
{offset: "100%", color: "navy"}
])
.enter().append("stop")
.attr("offset", function(d) { return d.offset; })
.attr("stop-color", function(d) { return d.color; });
并使用这种风格
.area {
fill: url(#area-gradient);
stroke-width: 0px;
}
但正如您从我的 Fiddle 中看到的那样——https://jsfiddle.net/yw46ycse/3/,我所拥有的是一个实心区域。我还需要做什么才能使图表下方的区域成为渐变?
【问题讨论】:
标签: css d3.js gradient linechart area