使用 jQuery Flot,我可以传递一个 null
绘图机制的值,因此它不会在绘图上绘制任何内容。查看如何抑制丢失的记录:
我想搬到 d3js
,以便我可以使用 SVG 对图形进行更深入的低级别控制。但是,我还没有找到如何执行抑制丢失记录的相同过程。下图是尝试执行此操作,使用值 0
而不是 null
(d3
包损坏的地方)。以下是一些代码,可让您了解我如何生成以下图表:
var line = d3.svg.line()
.x(function(d) {
var date = new Date(d[0]);
return x(date);
})
.y(function(d) {
var height = d[1];
if (no_record_exists) {
return y(0);
}
return y(height) + 0.5;
});
我查了 SVG
path
Mozilla 开发者网络上的元素,我发现有一个 MoveTo 命令,M x y
,这只会将“笔”移动到某个点而不绘制任何东西。这是否已在 d3js
中实现?包,这样我就不必创建多个 path
元素每次遇到丢失的记录?
最佳答案
defined
d3.svg.line()
的功能是这样做的方法
假设我们希望在 y 为空时在图表中包含一个中断:
line.defined(function(d) { return d.y!=null; })
关于path - 将空值传递给 SVG 路径(使用 d3.js)以抑制丢失的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9580003/