Python、Numpy、seabornを使ってヒートマップを自作する方法

スポンサーリンク

今日はPythonでヒートマップを使う方法と、様々なデータセットに対してヒートマップを作成する方法について理解します。

スポンサーリンク

ヒートマップとは?

ヒートマップは、色相、彩度、輝度などの色の変化を利用して、データを2次元のカラーマップで可視化します。

ヒートマップは、数値の代わりに色の形で変数間の関係を記述します。

これらの変数は、両軸にプロットされる。

色の変化は、特定のブロックにおける色の強さに応じて、2つの値の関係を記述します。

ヒートマップには多くのアプリケーションがありますが、そのいくつかを以下に示します。

  1. ビジネス・アナリティクスの可視化
  2. データ解析の探索
  3. マーケティングとセールスの探求
  4. Webサイトやアプリケーションの訪問者数を可視化する

ヒートマップを利用した産業

現在、多くの業界でヒートマップが活用されています。

いくつかの業界を紹介します。

  • ヘルスケア
  • 金融
  • テクノロジー
  • 不動産

Python でヒートマップをプロットする

プログラミング言語pythonでヒートマップをプロットする方法は複数あります。

それぞれの方法を順次理解していくことにします。

分かりやすくするために、一度方法を列挙してみましょう。

  1. Seabornライブラリを使用する
  2. pcolormesh()関数を使う
  3. matplotlib.pyplotライブラリの使用

方法1 : Seaborn ライブラリを使用する

seabornライブラリを用いてヒートマップを作成するためには、まず、必要なモジュール/ライブラリを全てプログラムにインポートする必要があります。

次に、特定のサイズの「ランダム行列」を生成し、heatmap関数を使ってヒートマップをプロットし、データセットを関数に渡します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1. Import Modules
import numpy as np
import seaborn as sns
import matplotlib.pylab as plt
plt.style.use("seaborn")
 
# 2. Generate a 10x10 random integer matrix
data = np.random.rand(10,10)
print("Our dataset is : ",data)
 
# 3. Plot the heatmap
plt.figure(figsize=(10,10))
heat_map = sns.heatmap( data, linewidth = 1 , annot = True)
plt.title( "HeatMap using Seaborn Method" )
plt.show()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import matplotlib.pyplot as plt
import numpy as np
 
data= np.random.rand(10,10)
 
plt.subplot(2,2,1)
plt.pcolormesh(data, cmap = 'rainbow')
plt.title('HeatMap Using pcolormesh function')
 
plt.subplot(2,2,2)
plt.pcolormesh(data, cmap = 'twilight')
plt.title('HeatMap Using pcolormesh function')
 
plt.subplot(2,2,3)
plt.pcolormesh(data, cmap = 'summer')
plt.title('HeatMap Using pcolormesh function')
 
plt.subplot(2,2,4)
plt.pcolormesh(data, cmap = 'winter')
plt.title('HeatMap Using pcolormesh function')
 
plt.tight_layout()
 
plt.show()

方法2:pcolormesh関数の使用

pcolormesh` 関数を使ってヒートマップを描くには、まず必要なモジュール/ライブラリーをインポートする必要があります。

ここでは、様々な cmap を用いてヒートマップを描画するため、matplotlib の subplots を使用します。

matplotlib の pcolormesh 関数は、データセットを必要とし、ヒートマップをプロットするためのカラーマップを指定することができます

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import numpy as np
import matplotlib.pyplot as plt
 
data= np.random.random((10,10))
 
plt.subplot(2,2,1)
plt.imshow( data, interpolation = 'nearest',cmap="rainbow")
plt.title('HeatMap Using matplotlib Library')
 
plt.subplot(2,2,2)
plt.imshow( data, interpolation = 'nearest',cmap="twilight")
plt.title('HeatMap Using matplotlib Library')
 
plt.subplot(2,2,3)
plt.imshow( data, interpolation = 'nearest',cmap="summer")
plt.title('HeatMap Using matplotlib Library')
 
plt.subplot(2,2,4)
plt.imshow( data, interpolation = 'nearest',cmap="ocean")
plt.title('HeatMap Using matplotlib Library')
 
plt.tight_layout()
 
plt.show()
Heatmap Using Seaborn Heatmaps in Python
Heatmap Using Seaborn

方法3:matplotlib.pyplot ライブラリの使用

matplotlib.pyplot`ライブラリを使ってヒートマップを描くには、まず必要なモジュール/ライブラリを全てインポートする必要があります。

前の方法と同様に、様々な cmap を使ってヒートマップをプロットするので、matplotlib の subplots を使用します。

matplotlibライブラリはimshow` 関数を使用し、データセットとヒートマップをプロットするためのカラーマップを指定する必要があります。

Heatmap Using Pcolormesh Function Heatmaps in Python
Heatmap Using Pcolormesh Function
Heatmap Using matplotlib Library
Heatmap Using matplotlib Library

エンディング・ワード

このチュートリアルを読んでいただきありがとうございます。

ヒートマップを作成するためのすべての方法を網羅したと思いますので、リアルタイムのデータに対してプロットしてみてください。

このようなチュートリアルを今後も続けていきます。

タイトルとURLをコピーしました