今日は、ツリーマップの構築という視覚化テクノロジを皆さんと一緒に学びます。樹形図は視覚化しやすく、理解しやすいです。ツリーマップは、さまざまなサイズの四角形を表示することによって、さまざまなサイズのデータを伝えます。一般に、大きな四角形は全体の大部分を表し、小さな四角形は全体の小さな部分を表すと考えられています。この記事では、Yun Duojun が、Squarify ライブラリを使用して Python で樹形図を作成する方法を学習します。
デンドログラムは、ネストされたさまざまなサイズの四角形を使用して、階層データを視覚化します。各四角形のサイズは、それが表すデータの全体量に比例します。これらの入れ子になった四角形は木の枝を表すため、この名前が付けられています。サイズに加えて、各長方形には固有のカテゴリを表す固有の色があります。ツリーマップは、金融機関から販売組織に至るまでの業界で広く使用されています。
樹形図は、1990 年代初頭にメリーランド大学ヒューマン コンピューター インタラクション研究所のベン シュナイダーマン教授によって初めて発明されました。この視覚化の背後にある考え方は、固定空間内で量をサイズ別に比較することです。では、実際にワードクラウドを構築する方法を見てみましょう。
フロリダ樹状図のソース: https://commons.wikimedia.org
Python では、次のように使用できます。樹状図を直接構築するには、正方形化します。たった 1 行のコード squarify.plot(data) で簡単に構築できます。
!pip install squarify
import matplotlib.pyplot as plt import squarify
値のリストをランダムに生成します。これらの値はデータとしてプロットに渡されます。
data = [500, 250, 60, 120]
**squarify.plot()** メソッドを使用して樹状図を作成します。ここで、ランダム データ変数 data は、この squarify.plot メソッドのパラメータとして使用されます。さらに、デコレーター コード plt.axis('off') の行を追加して、樹状図の軸を非表示にします。
squarify.plot(data) plt.axis('off') plt.show()
import matplotlib.pyplot as plt import squarify data = [500, 250, 60, 120] squarify.plot(data) plt.axis('off') plt.show()
このコードを実行すると、次の結果が得られます:
このコードが実行されるたびに、ランダムな色のネストされた四角形のセットを生成します。
.plot() メソッドのパラメータを使用すると、樹状図にさらに変更を追加できます。ツリーマップの色、ラベル、塗りつぶしは、プロパティを明示的に指定することで制御できます。
import matplotlib.pyplot as plt import squarify sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color) plt.axis('off') plt.show()
このコードを実行すると、次の結果が得られます:
squarify.plot() の label プロパティにリストを渡すことで、さまざまなラベル値を明示的に追加できます。これにより、既存のタグが上書きされるか、タグがまだ存在しない場合は樹状図に追加されます。ラベルは、.plot() に渡されたリストと同じ順序で樹状図に追加されます。
import matplotlib.pyplot as plt import squarify labels = ['A', 'AB', 'ABC', 'ABCD'] sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color, label = labels) plt.axis('off') plt.show()
このコードを実行すると、
は、樹状図の追加で見つかります。パッドを使用して、ツリーマップ内で各四角形を互いに分離します。これにより、四角形をより明確に区別することができます。これは、カテゴリまたは四角形が多数ある場合に便利です。 Pad パラメータを True に設定することで呼び出すことができます。
import matplotlib.pyplot as plt import squarify labels = ['AB', 'A', 'ABC', 'ABCD'] sizes = [500, 250, 120, 60] color = ['red', 'green', 'blue', 'orange'] squarify.plot(sizes,color=color, label = labels, pad = True) plt.axis('off') plt.show()
コードを実行すると、次の結果が得られます:
この観点から、樹形図を構築すると、それはケーキの一部であると言えます。 squarify ライブラリに加えて、Python の他のいくつかのライブラリを使用してデンドログラムを構築できます。人気のプロットリーライブラリなど。本日2つ目のツイートではその活用事例を紹介していますので、興味のある方はぜひご覧ください。
import plotly_express as px import plotly.graph_objects as go px.treemap(names = name, parents = parent) go.Figure(go.Treemap(labels = name, parents = parent,))
もちろん、より便利かつ簡単にツリー図を作成するために使用できる BI ツールは数多くあります。
場合によっては、樹状図に曖昧さが発生することがあります。同じ番号 (または長方形のサイズ) と同じ色の色合いのカテゴリが複数ある場合、ユーザーがそれらを区別するのが難しくなります。したがって、樹状図を作成するときは、関係するカテゴリの数とカラー マッピングを常に考慮する必要があります。
以上が1 行の Python コードでツリー ヒート マップを簡単に構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。