javascript - Step Plot D3.js 中缺少初始步骤

标签 javascript d3.js

这是一个我还没有找到彻底修复的问题。

在我下面的步骤图中:

http://jsfiddle.net/q47r3pyk/7/

你可以看到我在图表的开头有一条垂直的蓝线。

这是因为我添加了额外的 x 值和 y 值,以便第一步将显示在步骤图中。

如果你看

http://jsfiddle.net/q47r3pyk/8/

我用

删除了第一个虚拟条目

“12-Jul-14” 的 x 值 0

的 y 值

我的步进图的第一步的宽度为零。

在 d3.js 中是否有推荐的方法来显示第一步而不丢失最后一步,方法是使用 step-after?还是修复了我添加虚拟值时出现的垂直蓝线?

步骤在

中指定
var line = d3.svg.line()
        .x(function (d) {
               return x(d.x);
           })
        .y(function (d) {
               return y(+d.y);
           })
        .interpolate("step-after");

最佳答案

您可以使用 SVG 剪辑路径剪辑路径:

svg.append("clipPath").attr("id", "canvasClip")
.append("rect")
.attr("height", height)
.attr("width", width)

然后在你的行中引用剪辑路径:

svg.append("path")
        .datum(formatted_data)
        .attr("class", "line")
        .attr("d", line)
        .attr("clip-path", "url(#canvasClip)")

这是 fiddle ,它似乎工作正常:

http://jsfiddle.net/q47r3pyk/11/

但是,最终,我认为这是插值器按其应有的方式运行的情况,您真的不应该考虑如何颠覆它,而应该考虑它是否是适合您的数据的插值器。在这种情况下,我会拒绝,并建议您使用“step”作为插值器而不是“step-before”或“step-after”。我认为这会为您提供您正在寻找的结果并与您的交互性很好地对齐。

关于javascript - Step Plot D3.js 中缺少初始步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27139863/

相关文章:

javascript - 确定 MVC 5 应用程序中 JavaScript 文件的依赖关系?

javascript - 如何在汇总编译中使用 node_modules

d3.js - 使用 D3.js 在单击切换图例时重绘堆栈条形图

javascript - v8/firefox RegExp 实现是基于有限自动机还是递归回溯?

javascript - 使用 jQuery 将元素名称分配给多个元素的名称作为前缀

javascript - 是否可以在评估右侧之前强制 `=` 的左侧完全评估为引用?

javascript - 将颜色应用于字符串中的特定单词

javascript - 使用来自 bl.ocks.org 的力导向图示例

javascript - 延迟到下一个数据项,一个一个追加,一次又一次

Javascript - 无法访问从 csv 文件创建的数组的数组元素