Newsgraphのような統計データのボロノイ ツリーマップを作成したい
Perl、PHP、Ruby、または Python でそれを行う方法を知っていますか?
Newsgraphのような統計データのボロノイ ツリーマップを作成したい
Perl、PHP、Ruby、または Python でそれを行う方法を知っていますか?
Python の素敵なデモとグラフィック: http://home.scarlet.be/zoetrope/voronoi/ ( wayback のアーカイブ コピー)
他の Python の回答は、ラスターのみのソリューションを指しているようです。この問題を (Python で) 解決することにも興味があり、次のスクリプトが使用可能な出発点になると思います。
http://www.oxfish.com/python/voronoi.py
(帰りのアーカイブ)
ちょうどこのページを見つけました。Benjamin Dittes による Steven Fortune のアルゴリズムの C# バージョンを Javascript に変換した後、Javascript/canvas を使用して Voronoi デモ アプレットに取り組んできました (Code Project で入手可能、「C# で実装された Fortune の Voronoi アルゴリズム」を参照)。Fortune のボロノイアルゴリズムを Javascript で記述したページは次のとおり です。お役に立てれば。
まず第一に、この線は奇妙ではありません。これは、これが通常のボロノイ テッセレーションではなく、面積加重ボロノイ (AWT) テッセレーション、場合によっては重心ボロノイ テッセレーション (CVT) であるという事実の結果です。そうは言っても、大幅に異なる領域 (データの属性を反映する) を持つボロノイ領域 (ポリゴン) を作成するには、AWT (ポリゴンの適切なアスペクト比を維持するために CVT として実装することが望ましい) が必要です。通常のボロノイ アルゴリズム (上記の一部の人々によって提案されている) では役に立ちません。AWT の反復的な更新ステップによる計算の複雑さは非常に高いため、特にスクリプト化された言語では、これに対する直接的な解決策はおそらくありません。「Voronoi Treemaps」および「Dynamic Voronoi Treemaps」の作業を参照する必要があります。バルザーらによる。とSudら。アルゴリズムのアイデアを得て、それを自分で実装します (必要なものはすべて論文に記載されています)。
James Tauber は、JavaScript とFortune のアルゴリズムcanvas
を使用して要素内にボロノイ図を描画するチュートリアルを書いています:ボロノイ キャンバス チュートリアル
まだ完全ではありません (彼はパート 3/4 です) が、それを完了するのに十分な量があると思います.
Macrofocus TreeMapの最新バージョン (2.0) には、ボロノイ アルゴリズムがオプションとして含まれています。