我正在使用 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/ ,我所拥有的是一个坚实的区域。我还需要做什么才能使图形下方的区域成为渐变?
最佳答案
这是您正在寻找的解决方案版本吗?您可以使用透明作为终止色 {offset: "95%", color: "transparent"}
。
这是你的 fiddle 的修改版本,我曾经根据你的需要制作它。
https://codepen.io/Nasir_T/pen/OjOWxz
希望这对您有所帮助。
关于css - 如何让我的 d3 折线图下方的区域填充为渐变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45599823/