javascript - 将 y 轴网格线添加到 D3 甘特图

标签 javascript d3.js charts gantt-chart

向 d3 甘特图添加水平网格线的最佳方法是什么,如this example ?我最初考虑制作一个轴并制作图表长度的刻度线(如 this example ),但这将它们直接放在图表矩形的中间。

是否可以将轴标记为矩形周围的“车道”,或者更容易绘制线条(如 here 所做的那样)?

最佳答案

解决方案来自this issue post on GitHub 。基本上只需将轴组平移带宽度的一半即可:

var yScale = d3.scaleBand()
        .domain(lanes)
        .rangeRound([0, chartHeight], 0.1);

var yGridAxis = d3.axisLeft()
        .scale(yScale)
        .tickFormat('')
        .tickSize(-chartWidth);

chart.append('g')
        .attr('class', 'grid')
        .attr('transform', function(d) {
            return 'translate(0,' + (-yScale.bandwidth()/2) + ')';
        })
        .call(yGridAxis);

关于javascript - 将 y 轴网格线添加到 D3 甘特图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48711277/

相关文章:

javascript - 如何修改小脚本以在没有 jquery 的情况下运行

javascript - 如何在 React JS 中动态添加/删除表行

javascript - 如何使用 javascript 从页面获取源代码

javascript - 如何在 c3js 中制作可重用/模板图表

angularjs - 如何在 Angular nvd3 中隐藏 y 轴并删除 x 轴上的刻度

javascript - 谷歌折线图线宽越来越细

javascript - 使用 Vue.js 在其他函数中调用 onclick 函数

javascript - 需要使用 javascript 在 <circle> 标记中设置 r(radius) 的值

javascript - d3.js 图表可以放入表格中吗?

javascript - 有人可以帮我做一个模拟图像传输的网络应用程序吗