matplotlibカラープロット
gnuplotは止めました。
Pythonをメインで使ってるのにmatplotlibを使わないのが
そもそも不自然だったんですけどね。
仕事で3次元のデータ(x, y, zの組)をプロットする機会が多いので、
得たポイントをまとめておきます。
環境はAnacondaです。
外部にネットワークが接続してない環境なので、一発でインストールできるのは助かります。
DOSとLINUX両方で使ってますが、今のところ大きな差異は感じません。
自分に必要なことしか調べてないので
網羅的な内容にはなりませんのであしからず。
matplotlibのカラープロット
matplotlibで3次元のデータをカラープロット(コンター図?)にする方法は
おそらく2つあります。
plt.pcolor
※2017.6.18注
plt.pcolormeshまたはpcolorfastまたはplt.imshowでも同様のプロットが可能です。
それぞれ返すオブジェクトが異なるようですが、出来上がるイメージはすべて同じだと思います。
pcolorfastが最も描画速度が速いようです。
pylab_examples example code: pcolor_demo.py — Matplotlib 2.0.2 documentation
plt.contour(+plt.contourf)
下の例にもありますが、plt.contourfが塗りつぶし、plt.contourが等高線になります。
pylab_examples example code: contour_demo.py — Matplotlib 2.0.2 documentation
#!/usr/bin/env python3 import matplotlib.pyplot as plt import numpy as np xs = np.arange(-5, 5, 0.1) z = np.array([x**2 + y**2 for x in xs for y in xs]).reshape((len(xs), len(xs))) plt.contourf(xs, xs, z) # plt.pcolor(xs, xs, z) plt.colorbar() plt.show() # plt.savefig("contouf.png")
plt.pcolorは実直にz軸データを色に変換してプロットする方法。
plt.contour(f)はz軸の値の範囲毎に色を割り当ててプロットする方法。
3次元プロットを利用する場面の多くは
視覚的なイメージを相手に植え付けることが目的で、
具体的な値を示す場面で使うことは無いと思います。
そのため、私は細かい値を気にしないplt.contour(f)をよく使います。
データ数が多いとplt.pcolorはコストがかかることも理由の一つです。
それでは以下でポイントをまとめていきます。
x軸とy軸のスケールを一致させる
横縦軸共に長さのことが多いです。
軸の単位が縦横で違っても、アスペクト比で印象が変わってきますよね。
plt.axes().set_aspect('equal')
アスペクト比を変えるとsavefigのときに白いとこが増えちゃいます。
その解決策
plt.savefig("contouf.png", bbox_inches='tight')
表示するz値の目盛り値を変える
plt.contourfの場合かなり重要。
どこを境目にするかで、印象がぜんぜん違う。
(x, y, )zの次の引数です。
levels = [0, 2, 3, 10, 56] plt.contourf(xs, xs, z, levels)
さっきと同じデータなのに、どうしても中心部分だけに目が行きますよね。
簡単に印象操作できちゃう。これがあるからカラープロットは信頼出来ない。
表示するx,y値の目盛り値を変える(表示の角度を変える)
x軸の目盛りが多すぎて表示できなかったので、90度に変更しました。
z軸の目盛り値をログスケールにする
from matplotlib.color import LogNorm z = z + 1 plt.contourf(xs, xs, z, norm=LogNorm())
番外編:numpy2次元配列(行列)のあれこれ
カラー表示するZ軸の値はnumpy.ndarrayの2次元配列とすると思います。
私がよく使う関数のメモ。
import numpy as np # 回転系 z = z.T # 転置したい場合 z = np.rot90(z) # 行列を90度回転したい場合 z = np.flipud(z) # 上下逆さま z = np.fliplr(z) # 左右逆さま # 数値計算系 z = np.log(z) # ログスケールしたい場合 z = z * 100 # 定数倍したい場合 z = M.dot(z) # 行列Mとの積を計算したい場合
福岡〜大分旅行
ラーメン、魚介類、温泉旅行です。
昼に着く飛行機で福岡空港。
一日目は久留米へ。
大砲ラーメン
一番美味しかった。
精養軒
あまり美味しくなかった?
二軒連続でかなり腹がキツくなったので、観光へ。
吉野ヶ里遺跡
暑かったorz
卑弥呼の湯
yutokuonsen.com
ホームページは今風だけど、内装はちょっと古い感じ。
二日目 大分へ
台風が来ていたので、予定していた佐賀を取りやめ、大分へ。
高速代が意外と高くついて、片道4000円くらい
今回は別府へ
昼は別府の回転寿司へ。
口コミ多い割に普通だったtabelog.com
地獄めぐりは海地獄だけ(¥400)
その後ひょうたん温泉へ
www.hyotan-onsen.com
ミストサウナが気持ちよかった
『低炭素社会』

- 作者: 小宮山宏
- 出版社/メーカー: 幻冬舎
- 発売日: 2010/05
- メディア: 新書
- 購入: 1人 クリック: 13回
- この商品を含むブログ (5件) を見る
会社の研修で、環境に関するレポートを書く必要があったので読みました。
はっきり言って内容がめっちゃ古かった。
2010年初版だから仕方ないけど、あまりにも陳腐化しすぎていた。
おそらく震災前ですから、意識も違うんでしょうね。
それだけじゃなくて、低炭素と銘打っているのにも関わらず、使用エネルギー量を減らすことばかり議論している。
もちろんエネルギーの消費量を減らすことは、低炭素社会を目指す上で重要だと思うけど、エネルギーの源を変えるほうが二酸化炭素の量を減らすことにつながるんじゃないかと思う。
例えば、
みたいな内容も期待してた。
ということで、この本はレポートに使いませんでした。
高校とか大学とか新入社員の研修で良くある環境のレポートには以下のような資料がお勧めです。www.enecho.meti.go.jp
www.enecho.meti.go.jp
マッカラン fine oak
福岡にラーメン食べに行きます
大学3回生の時に行った2泊3日の博多ラーメン旅行が忘れられず、決行することにしました。
3日間なのに12食くらい食べました(内1食だけモツ鍋)。
今回も2泊3日です。
なぜかものすごく安く予約できたので、貼っておきます。
スーパーサマーセール2015 - H.I.S. 国内旅行
H.I.S.のSuper Summer Saleです。
条件は、
これでなんと、¥35,000でした。
食費の中心はラーメンになるので、ガソリン代などをプラスしても5万くらいですね。
吹けば飛ぶような新入社員ボーナスがかなり飛びますが、楽しみです。
前回は電車、徒歩での移動だったので、お酒は飲めましたが、少し足を伸ばすのが億劫でした。
今回はレンタカーで久留米ラーメンを中心に食べに行きます。
おすすめのラーメン屋があったら教えていただきたいなぁ〜
『ウィスキーの科学』
ウィスキーが大好きです。
好きなんだけど、知っていることは銘柄による味と香りの違いとか、分類とか醸造所とか、ファッションウィスキー好きみたいな感じです。
これから何十年も付き合っていくことになるだろうし、
友人と醸造所の見学に行こうという話も出ているので、
製法についての知識を深めておこうと思い、こちらの本を読み始めました。

ウイスキーの科学―知るほどに飲みたくなる「熟成」の神秘 (ブルーバックス)
- 作者: 古賀邦正
- 出版社/メーカー: 講談社
- 発売日: 2009/11/20
- メディア: 新書
- クリック: 39回
- この商品を含むブログ (14件) を見る
中身は名前通りで、科学的な内容がほとんど。
熟成の話になると、アルコール、芳香族元素、不揮発性成分などなど、
もう記憶の彼方にある高校時代の化学の知識を呼び覚ます必要がありました。
そんな本とわり切って読めば、非常にわかりやすい文章でした。
もったいぶった書き方や、ウィスキーを形容するときに使われる表現も大好きです。