0

私は視覚化に取り組んでおり、stackoverflow で見つけた jsfiddle に取り組んでいます。

D3 をやったことがないので、いくつか質問がありました。

このようなjsonを視覚化したい

{word:"cat", count: 30},
{word:"dog", count: 15}....

ここでjsfiddleに取り組んでいます

http://jsfiddle.net/matthewpiatetsky/nCNyE/3/

  1. テキストと円が交差しないようにするにはどうすればよいですか? 前のフィドルは円に対してこれを保証しましたが、ある円のラベルが他の円/他のラベルと交差しないようにしたいです。
  2. 円のサイズを変更して、ウィンドウ内の空きスペースの量を相対的にスケーリングするにはどうすればよいですか? 800×800の窓を作ろうと思っているのですが、空きスペースが多く円が少ない場合は円を大きくし、ない場合は小さくしたいと思っています。

どんなヒントでも大歓迎です、ありがとう!(私は自分でこのことを理解できることを知っています、そして私はゆっくりとやっていますが、私がいじることができるこれらのことを行う方法のいくつかの例が役に立ちます!

4

1 に答える 1

1

最初の質問に対する簡単な答えは、D3 ではこれを自動的に行うことができないということです。ラベルと円の位置を手動で確認するか、D3 の強制レイアウトのようなものを使用してそれらを重ならないように自動的に配置することで、これが当てはまることを確認することができます。ただし、これらのオプションのいずれもかなりの作業になります。2 番目のケースでは、何も重複しないという保証はありません。

2 番目の質問に関しては、ウィンドウのサイズを決定し、それに応じて半径を設定します。

var radius = Math.sqrt(window.innerWidth * window.innerHeight) / 100;
于 2013-06-18T17:42:13.673 に答える