javascript - d3 折线图在顶部切断

标签 javascript d3.js

如果值太高,是否可以防止这条线的顶部被切断?

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

    });

最佳答案

快速简便的方法是将域在 y 轴上增加一个小因子,例如:

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

关于javascript - d3 折线图在顶部切断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35709349/

相关文章:

javascript - 如何使用 Angular 改变体型

javascript - 使 Click 事件在动画期间不可用

javascript - 显示带有标签的城市/兴趣点的 geoChoroplethChart map

javascript - THREE.JS:从 3D 透视场景到 2D 正交 hud 场景的转换

svg - D3,检索<g>元素的x位置并应用多次变换

javascript - 使用 D3js 更改按钮文本

d3.js - 在 d3 力定向网络图中更新带有标签的节点和链接未正确删除节点

javascript - 滚动时获取 0 到 1 之间的滚动百分比

javascript - 在 jquery 中使用 $(this) 选择器和另一个嵌套选择器

javascript - 在html中添加两个值的结果