css - 如何让我的 d3 折线图下方的区域填充为渐变?

标签 css d3.js gradient linechart area

我正在使用 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/

相关文章:

css - 如何使用 JSF 和 CSS 为表格行获取渐变背景?

types - 如何使用 Flux.jl 绘制函数及其梯度/导数

javascript - d3.js 中的进入和退出是什么?

HTML main 显示为 2px 高,而不是充当其子元素的包装器

javascript - 我想用javascript在控制台中显示匹配的记录

html - DIV 在前台

javascript - 如何动态更新 d3.js 力布局图?

d3.js 条形图,每条记录均包含正负条(赢/负)

r - 在ggplot2中添加手动渐变图例

html - Easy Div 和线性渐变 CSS