S0-ma's Blog

s0-maのブログです。

Python+jupyter+matplitlibでヒートマップを書いてみた

Abstract

matplotlibのヒートマップを使い、jupyter notebook上で3次元データを可視化してみました。

Setup and Results

プロットする内容

x, yが100x100の範囲について、z=sin(3πx/100) + sin(2πx/100)という関数をプロットしてみる。

コード

%matplotlib inline
import math
import matplotlib.pyplot as plt

x = []
y = []
z = []

for i in range(0,100):
    x.append([])
    y.append([])
    z.append([])
    for j in range(0,100):
        x[i].append(i)
        y[i].append(j)
        z[i].append(math.sin(3*math.pi *i/100) * math.sin(2*math.pi *j/100))
        
plt.pcolormesh(x,y,z, cmap="jet")
plt.show()

実行結果

f:id:s0-ma:20190209184241p:plain
matplotlibでheatmapをプロット

Conclusion

x, y共に2次元配列で渡すのがコツ。オプションで最大最小値やカラーマップも変更できるみたい。

Reference

github.com matplotlib.pyplot.pcolormesh — Matplotlib 3.0.2 documentation