缩放到特定域?

时间:2018-08-21 14:13:02

标签: d3.js

我有一个x轴的时间刻度,每次缩放时,我都会保存变换对象和新的时间刻度。它们是setStatethis.scale。这里this.transform是一个VueJs实例。

我想实现一个将缩放比例更改为特定区域的功能,但是我不知道如何计算新的this和新的k。在我的情况下,缩放仅适用于x轴。

这是我的代码:

x

const k = this.w / (this.scale(dateTimeEnd) - this.scale(dateTimeStart)) * (this.transform ? this.transform.k : 1); const translateX = (this.transform ? this.transform.x : 0) - this.scale(dateTimeStart); this.svg .transition() .duration(750) .call(this.zoom.transform, () => { return d3.zoomIdentity .scale(k) .translate(translateX, 0); }); 是绑定了缩放行为的选择。

如何计算比例尺的新this.svg指标和translateX指标的新k

0 个答案:

没有答案