ホームページ  >  記事  >  バックエンド開発  >  1 行の Python コードでツリー ヒート マップを簡単に構築

1 行の Python コードでツリー ヒート マップを簡単に構築

WBOY
WBOY転載
2023-04-19 15:17:241915ブラウズ

1 行の Python コードでツリー ヒート マップを簡単に構築

今日は、ツリーマップの構築という視覚化テクノロジを皆さんと一緒に学びます。樹形図は視覚化しやすく、理解しやすいです。ツリーマップは、さまざまなサイズの四角形を表示することによって、さまざまなサイズのデータ​​を伝えます。一般に、大きな四角形は全体の大部分を表し、小さな四角形は全体の小さな部分を表すと考えられています。この記事では、Yun Duojun が、Squarify ライブラリを使用して Python で樹形図を作成する方法を学習します。

はじめに

デンドログラムは、ネストされたさまざまなサイズの四角形を使用して、階層データを視覚化します。各四角形のサイズは、それが表すデータの全体量に比例します。これらの入れ子になった四角形は木の枝を表すため、この名前が付けられています。サイズに加えて、各長方形には固有のカテゴリを表す固有の色があります。ツリーマップは、金融機関から販売組織に至るまでの業界で広く使用されています。

樹形図は、1990 年代初頭にメリーランド大学ヒューマン コンピューター インタラクション研究所のベン シュナイダーマン教授によって初めて発明されました。この視覚化の背後にある考え方は、固定空間内で量をサイズ別に比較することです。では、実際にワードクラウドを構築する方法を見てみましょう。

1 行の Python コードでツリー ヒート マップを簡単に構築

フロリダ樹状図のソース: https://commons.wikimedia.org

Squarify を使用して樹状図を構築する

Python では、次のように使用できます。樹状図を直接構築するには、正方形化します。たった 1 行のコード squarify.plot(data) で簡単に構築できます。

1. 必要なライブラリをインストールします

!pip install squarify

2. 必要なライブラリをインポートします

import matplotlib.pyplot as plt
import squarify

3. ランダム データを作成します

値のリストをランダムに生成します。これらの値はデータとしてプロットに渡されます。

data = [500, 250, 60, 120]

4. 樹状図を描画する

**squarify.plot()** メソッドを使用して樹状図を作成します。ここで、ランダム データ変数 data は、この squarify.plot メソッドのパラメータとして使用されます。さらに、デコレーター コード plt.axis('off') の行を追加して、樹状図の軸を非表示にします。

squarify.plot(data)
plt.axis('off')
plt.show()

5. それらをまとめる

import matplotlib.pyplot as plt
import squarify
data = [500, 250, 60, 120]
squarify.plot(data)
plt.axis('off')
plt.show()

このコードを実行すると、次の結果が得られます:

1 行の Python コードでツリー ヒート マップを簡単に構築

このコードが実行されるたびに、ランダムな色のネストされた四角形のセットを生成します。

追加パラメータの使用

.plot() メソッドのパラメータを使用すると、樹状図にさらに変更を追加できます。ツリーマップの色、ラベル、塗りつぶしは、プロパティを明示的に指定することで制御できます。

1. 樹状図の色を指定します

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()

このコードを実行すると、次の結果が得られます:

1 行の Python コードでツリー ヒート マップを簡単に構築

2. 樹状図のプロットを与えますラベルの追加

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()

このコードを実行すると、

1 行の Python コードでツリー ヒート マップを簡単に構築

3 が得られます。樹状図のパッド

は、樹状図の追加で見つかります。パッドを使用して、ツリーマップ内で各四角形を互いに分離します。これにより、四角形をより明確に区別することができます。これは、カテゴリまたは四角形が多数ある場合に便利です。 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()

コードを実行すると、次の結果が得られます:

1 行の Python コードでツリー ヒート マップを簡単に構築

最後に書かれています

この観点から、樹形図を構築すると、それはケーキの一部であると言えます。 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 サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。