LoginSignup
36
41

More than 5 years have passed since last update.

2次元のデータを、pythonのmatplotlibを用いて一瞬で図に起こす

Last updated at Posted at 2016-01-09

中身がどんなのかをすぐに確かめたい2次元データが手元にあるとき、pythonで予め以下のような関数を作成しておけば、そのデータを一瞬で図に起こすことができる。
図の細かい設定は気にしない、とにかく手軽さを求めたい人向け。

quick.py
def draw(data,cb_min,cb_max):  #cb_min,cb_max:カラーバーの下端と上端の値
    import numpy as np
    import matplotlib.pyplot as plt
    X,Y=np.meshgrid(np.arange(data.shape[1]),np.arange(data.shape[0]))
    plt.figure(figsize=(10,4))  #図の縦横比を指定する
    div=20.0                    #図を描くのに何色用いるか
    delta=(cb_max-cb_min)/div
    interval=np.arange(cb_min,abs(cb_max)*2+delta,delta)[0:int(div)+1]
    plt.contourf(X,Y,data,interval)
    plt.show()

これで、
In[10]: import quick
In[11]: quick.draw(data,-2,32)
と実行すると、numpyで作成された2次元配列の中身を、カラーコンターの図で出力してくれる。
t.png

(例:1月の全球の海面水温分布)

図の向きを調整したいとき

図を左右反転させたいとき

In[12]: quick.draw(data[:,::-1],-2,32)
lr.png

図を上下反転させたいとき

In[12]: quick.draw(data[::-1,:],-2,32)
ud.png

図を90度回転させたいとき

In[12]: quick.draw(data[:,::-1].transpose(),-2,32)
左右反転させてから転置する
transpose.png

図を180度回転させたいとき

In[12]: quick.draw(data[::-1,:][:,::-1],-2,32)
上下反転させてから左右反転させる
180.png


参考URL : http://seesaawiki.jp/met-python/d/matplotlib

36
41
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
41