【发布时间】:2017-08-01 06:22:34
【问题描述】:
我构建了一个缩放和平移时间轴,它可以正确地沿 x 轴缩放。我试图在缩放或平移时获取 x 轴的实时状态。如何获取这些 date_min 和 date_max 变量?
我使用此交互式时间线的最终目的是获取实时缩放/平移状态,并将该状态数据发送回服务器以请求此新时间尺度的数据。
div 可以渲染“x-min”和“x-max”,但我不知道如何正确连接到 d3 轴或缩放函数以获取这些动态状态变量。
这里是 x 函数:
var x = d3.time.scale()
.domain([new Date(2017, 1, 1), new Date(2018, 1, 1)])
.range([0, width]);
这里是 xAxis 函数:
var xAxis = d3.svg.axis()
.scale(x)
.orient("bottom")
.tickSize(-height);
这里是缩放功能:
var zoom = d3.behavior.zoom()
.x(x)
.xExtent([new Date(-2000, 1, 1), new Date(3000, 1, 1)])
.on("zoom", zoomed);
这里是放大功能:
function zoomed() {
svg.select(".x.axis").call(xAxis);
}
即使能够 console.log() x 轴范围也可以,但我缺少一些关于在 d3 和 javascript 中绑定和处理变量方式的基本知识。
请指教!
【问题讨论】:
标签: d3.js