Angular-nvd3线图,线条呈现在图表外

时间:2015-09-08 09:01:34

标签: nvd3.js angular-nvd3

我使用Krispos angular-nvd3渲染折线图。由于某种原因,线条在图表外呈现或日期错误。 x轴是时间刻度,xDomain的最小值和最大值是使用datepicker设置的。

设置xDomain时,图表将使用选定的开始日期和结束日期作为x轴的最小值和最大值进行渲染。但是,由于数据集在所选开始日期之前具有最小日期,因此在时间间隔之外渲染线条。在此示例中,所选开始日期为 2015-08-08 ,结束日期 2015-11-08

Image with lines rendered outside chart

如果我使用forceX代替xDomain来设置最小值和最大值,则会在图表网格中呈现这些线条。但在这种情况下,数据集的最小日期在选定的开始日期之前,因此x轴从 2015-07-07 开始,而不是 2015-08-08 。如下图所示:

enter image description here

这些是使用的基本图表选项。 <{1}}或xDomain是动态设置的。

forceX

我是否需要以某种方式使用范围才能正常工作,即仅在选定的开始日期和结束日期内呈现数据。

感谢您的投入!

1 个答案:

答案 0 :(得分:2)

此问题的解决方案是使用图表选项clamp(),在这种情况下:

xScale: d3.time.scale().clamp(true)

日期刻度使用xDomain设置:

xDomain: [moment(data.startDate).valueOf(), moment(data.endDate).valueOf()]

enter image description here