D3.js从绑定数据设置轴域?

时间:2014-10-21 05:14:10

标签: d3.js

在学习d3.js时,我看到了severalexamples d3 plots,其中数据更改时轴会更新。

我原本期望轴依赖于绑定数据,因此当您使用.data(newData)添加新数据时,轴使用的比例域将发生变化。相反,所有这些示例都将数据连接到绘图选择,然后根据不同的变量(通常是原始的未绑定数据变量)手动重绘轴。

为什么不将比例定义为绑定数据的函数?也许这会导致循环引用问题?还是因为其他原因而违背d3哲学呢?

1 个答案:

答案 0 :(得分:0)

我最终将轴与数据绑在一起,看起来效果很好。我有一个updatePlot函数,它将新数据添加到绘图中,getDataExtents返回数据的范围,setAxesBounds函数设置尺度的域,然后执行.call重绘轴。在updatePlot中,我只有setAxesBounds(getDataExtents(data)),这样无论何时更新数据,都会根据数据重新绘制轴。

我以前用它来绘制图书馆会自动发生这类事情,但我知道d3不是一个绘图库,因此它没有做到这一点你,以灵活性的名义,并避免不可预测的默认行为。