個々の半径/直径に基づいてD3.jsが各ノードのフォントサイズを自動的に調整する方法を教えてください。私はD3.js個々の半径/直径のノードに基づく自動フォントサイズ設定
node.append("text")
.attr("dy", ".3em")
.style("text-anchor", "middle")
.text(function(d) { return d.className.substring(0, d.r/3); })
.style("font-size", "10px") // initial guess
//This is what gives it increased size...
.style("font-size", function(d) { return (2 * d.r - 10)/this.getComputedTextLength() * 10 + "px"; })
insize自動増加を可能にするスタイルを使用
。 * 10 + "px"; })
このエフェクトは、より小さいノードからテキストを削除します。私はまた、私は元の12 pxを覆う私の画面全体をカバーするドットを増やすことができるズーム機能を持っています。
.call(d3.behavior.zoom().scaleExtent([1, 200]).on("zoom", zoom))
ノードフォントを個別に自動的にフォーマットする方法はありますか。適切なサイズで書き込むため、呼び出されるノードのフォントをズームインすると、ノードのサイズに比例して表示されます。
右円を一覧表示します:NAME(SIZE)
私はから学ぶための作業例が大好きです。画像サイズでは、円の上に書かれているものを見るために拡大するまで、Pの隣にある駆動円の北の小さな緑の点に黒い読めない単語があります。目標は、ズームイン時に比例した読みやすいフォントを使用することです。
作品は、優れた...単語の前後にスペースを取得したり、いくつかの手順小さいワードサイズを縮小するための簡単な修正はありますか? – Understood
これは、 'cscale'がどのように決定されるかにあります。そこに因子を追加するか、スペースに対して' bbox.width'に一定のオフセットを追加することができます。 –
このgetBBox()FFで問題を作成することがあります! –