【发布时间】:2015-10-21 14:56:26
【问题描述】:
我正在尝试创建一个具有多线性 x 轴的可缩放图表。如果我 没有 有折线轴,一切都会按预期工作。但是,当使用多线性轴时,平移(和缩放)非常扭曲。如果拖动图表进行平移,您将看到点和 x 轴扭曲。该示例使用默认的 D3js 缩放行为。任何获得平滑平移/缩放的建议将不胜感激。
我正在使用转换来定位元素,因为我在指定 cx 和 cy 值时遇到了一些问题(尤其是在将新数据添加到平移或缩放图表时)。
这里是缩放功能:
var onZoom = function () {
if (d3.event.scale == 1) { //panning
} else { //zooming
// don't scale points and lines
graph.selectAll(".point")
.attr("r", 10 / d3.event.scale)
.attr("stroke-width", 1 / d3.event.scale);
}
graph.selectAll(".point")
.attr("transform", function (d) { return "translate(" + xMap(d) + "," + yMap(d) + ")scale(" + d3.event.scale + ")"; });
graph.select(".xAxis.axis").call(xAxis);
graph.select(".yAxis.axis").call(yAxis);
};
【问题讨论】:
标签: d3.js