« 倒産力で「とうさん」のパズルを攻略するよ。 | トップページ | オープンソースのアンドロイドアプリがたっぷり F-Droid »

2012年10月29日 (月)

matplotlibのプロットをデフォルトでMATLABっぽくしたい

Veusz

最近は、veuszとかいてビューズと読むらしい、オリジンみたいな感じのパブリケーションクオリティーなグラフが制作できるソフトが人気らしい。Pythonでできていて、Python(x,y)を入れるとSpyderなどと一緒に入ってくるので試した人も多いとおもわれる。もちろんフリー。numpyのアレイとか、csvとかでデータを読み込んでたくさんサブプロットを入れていって、もうほぼIllustratorでは何もしなくてもいいところまで編集できるらしい。かなりキレイな仕上がり。

とは言え、インタラクティブにデータを眺めながらガリガリとデータ解析するにはやっぱりmatplotlibが必須。

matplotlib

今日は、MATLABから来た人なら気になるとおもわれる設定をMATLABに近づける方法の覚書です。

むかしもちょいと書きましたが、matplotlibにはmatplotlibrcというプロットの初期設定なんかが保存されているファイルがあります。ウィンドウズだと普通はsite-packages\matplotlib\mpl-dataにあります。拡張子がない変なファイルですが、普通にエディタで編集できます。

1.プロットのバックグラウンドを白にしたい。matplotlibはなぜか灰色ですね。パワーポイントのスライドなんかにスクリーンショットを貼り付ける場合など、バックグラウンドが既に白いことが多い訳で、基本は白がいいのでは。
これを一時的にするには、from pylab import * した場合なら

fig = figure()
fig.patch.set_facecolor('white')

または

fig = figure(facecolor='w')

のようにフェイスカラーを白に設定することでも出来ます。これを初期設定にするには、matplotlibrcのfigure.facecolor を0.75から1にすることで、次のmatplotlibのインポートからは毎回この設定になります。

追記)ちなみにすでにプロットしてしまったのをあとから変えたい場合は

fig = gcf()
fig.patch.set_facecolor('white')
draw()

2.イメージをimshowなどで表示する場合、ピクセル毎に正確に表示したい。matplotlibでは初期設定ではちょっとなめらかにフィルターがかかったようになります。これも

imshow(data, interpolation='nearest')

とするだけでいいんですが、毎回打つのはめんどいですね。これもmatplotlibrcのimage.interpolation を nearestにすることで変更可能です。

« 倒産力で「とうさん」のパズルを攻略するよ。 | トップページ | オープンソースのアンドロイドアプリがたっぷり F-Droid »

学問・資格」カテゴリの記事

Python」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: matplotlibのプロットをデフォルトでMATLABっぽくしたい:

« 倒産力で「とうさん」のパズルを攻略するよ。 | トップページ | オープンソースのアンドロイドアプリがたっぷり F-Droid »

しろののツイッタータイムライン(凍結中)

オススメたち

2021年7月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

はてブ

無料ブログはココログ