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()
実行結果
Conclusion
x, y共に2次元配列で渡すのがコツ。オプションで最大最小値やカラーマップも変更できるみたい。
Reference
github.com matplotlib.pyplot.pcolormesh — Matplotlib 3.0.2 documentation