我有一个基于时间的x轴的d3折线图。我想要显示2天的数据,从最后一次测量(如:最新的时间)到2天前的数据,即使数据比这还多。这工作。如何限制d3线图显示轴范围之外的线?
为了让用户看到没有出现的数据,我有一个缩放行为(不允许缩放,只能在x轴上平移)。这也适用。
我现在面临的问题是,当我有数据超出轴的范围(x或y轴)时,它仍然绘制到svg的边界。我想限制可见行到由轴限定的svg区域。
我有一个fiddle here,你可以看到这个问题。数据显示在x轴的左侧并且高于y轴的最大值,都不是期望的。我不确定它为什么这样做,或者我可以如何阻止它。例如。我的y比例:
yScale = d3.scale.linear().domain([41.5, 34.5]),
但是,当给出值43时,它仍会尝试绘制它。 x轴上同样的问题。我敢肯定,它必须能够限制显示的数据,因为this guy managed它。不幸的是,我还没有找到该页面下面两个图表正在生成的代码。
您需要创建一个[clipPath](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/clipPath)来屏蔽趋势线路径。您可以通过查看源代码并搜索“剪辑器”来查看链接示例中的操作。 – meetamit
感谢您指出我正确的方向@meetamit,不知道那个元素!我得到了一个奇怪的结果,试图复制它在您提供的链接中设置的方式 - 它确实[this](http://jsfiddle.net/rc38dLqu/2/)。但是当我试图像我在之前提到的网站那样做时(在像你说的那样寻找剪辑器之后),我就开始工作了。 – mcProgrammer