は、ここに私のコードです:d3.js v4のズーム機能では、私はズームアウトして、チャートをパンの問題が生じていますビューポートの外に出る
var zoom = d3.zoom()
.scaleExtent([0.3, 10])
.on("zoom", zoomed);
function zoomed() {
svg.attr("transform", function(d){
var transform = d3.zoomTransform(this);
return transform;
});
}
var svg = d3.select("#app")
.append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.call(zoom);
var rect = svg.append("rect")
.attr("width", width)
.attr("height", height)
.style("fill", "none")
.style("pointer-events", "all");
scaleExtentであれば問題ありません[1,10]。この問題は、xが1未満の場合にのみ発生します。 1より下にズームした後にパンすると、グラフは非常に高い値に変換され、ビューポートから消えます。そしてそれを戻すことは不可能です。
私はapi docsを通過し、解決策を見つけられませんでした。助けてください。 あなたの助けが高く評価されます。
です。グループgには、フォースレイアウトのノードとリンクが含まれています。私はそれをすべて拡大縮小したい。この長方形は、マウスのすべてのイベントを捕捉するためのものです。だから私は、ズームインとズームアウトし、矩形ではありません。私がこれをするとき、gの翻訳は異常に高い数字になる –
これをチェックしてくださいhttp://plnkr.co/edit/RDgrINy7DkEBRD7pcWRD?p=previewこれは爪をすべきです。これでレイヤー....すべてのサークル、ズーム、パンが必要なすべてがそこに入ります。長方形は、すべてのマウスイベントを捕まえるために後ろに立っています。 – Cyril
素晴らしい。それは完璧に動作します。どうもありがとう –