d3折线图在顶部被截断

3
有没有办法防止该行顶部被削减,如果值过高? https://jsfiddle.net/o7sj0jg5/
function simpleLine(self, dataset, interpolation) {

    var w = parseInt(d3.select(self).style("width")),
            h = parseInt(d3.select(self).style("height")),

        svg = d3.select(self)
                .append("svg")
                .attr("width", w)
                .attr("height", h),

        x = d3.scale.linear().domain([0, 0]).range([w, 0]),
        y = d3.scale.linear().domain([0, d3.max(dataset)]).range([h, 0]),

        line = d3.svg.line()
                .x(function(d,i) {
                    return i * (w / dataset.length);
                })
                .y(function(d) {
                    return y(d) + -1;
                })
                .interpolate(interpolation);

    svg.append("svg:path").attr("d", line(dataset));

}   


    var nutrientAverages = document.querySelectorAll('.nutrientaverages');
    Array.prototype.forEach.call(nutrientAverages, function(el) {

        var nums = el.getAttribute("data-value").split(',').map(Number);
        simpleLine(el, nums, 'monotone'); // maybe use cardinal-open

    });
2个回答

3

一种快速简单的方法是通过在y轴上微调域名,例如:

y = d3.scale.linear().domain([0, d3.max(dataset) * 1.2]).range([h, 0])

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接