2018年2月27日火曜日

Jupyterで出てくるWARNINGを非表示にしたいとき

解っているけど敢えて使っている昔の記法で、毎回WARNINGが出たりするのが嫌なとき、消しています。stackoverflowなどでは消すべきではない、という意見も多かったですが。
# ignore warning
import warnings
warnings.filterwarnings('ignore') # set to ignore
# warnings.filterwarnings('default') # set to default
(EN)
https://docs.python.org/3.6/library/warnings.html#the-warnings-filter

(JP)
https://docs.python.jp/3/library/warnings.html

2018年2月20日火曜日

matplotlibの図をPDFで出力する

matplotlibの図をPDFで出力するときの方法で2種類紹介します。

1枚の図をPDF出力するとき

1つの図をPDF出力するときは、単純に
plt.savefig("output.pdf")
とすればPDFが出力されます。同様にpngファイルを出力することも可能です。例は下のようになります。
import matplotlib.pyplot as plt

fig = plt.figure()
plt.plot([1,2,3,4,5],'o')
plt.title("test\n put some comment here")
plt.savefig("output.pdf")
plt.show()

複数ページはPdfPagesが便利

plt部分が画像として扱われるので、テキストをPDFに入れたいときは、plt.titleなどで図に埋め込むと簡単です。日本語を入れたいときはフォント設定の解説参照のこと。

図を1ページのPDFに出力する

import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages 

fig = plt.figure()
plt.plot([1,2,3,4,5],'o')
plt.title("test\n put some comment here")
plt.show()

# set path
pp = PdfPages('pdf_test.pdf')

# save figure
pp.savefig(fig)

# close file
pp.close()
これで下図がpdfで出力されます。pp.close()を忘れるとPDFが開けなくなります。そういうときは、後からでもpp.close()コマンドを実行するとOKです。



https://matplotlib.org/api/backend_pdf_api.html

複数ページのPDFとして出力する


条件を変えて図を出力します。5回繰り返して、色を(C0〜C4)で変えます。
pp = PdfPages('pdf_test.pdf')
for i in range(5):
    fig = plt.figure()
    plt.plot([1,2,3,4,5],'o', color='C'+str(i))
    pp.savefig(fig)
  
pp.close()
こういう5ページのPDFが出力されたでしょうか?



ちなみに、fig単位ごとにPDF1枚ですので、subplotを使うと複数の図を1枚のPDFに出すこともできます。

2018年2月16日金曜日

Pinta アンインストール

Pintaをインストールしたが、すぐに消すことに。何かおかしくなっている気がします。最近はUSB-HDDドライブが認識されなくなったりして困っています。

sudo apt-get remove pinta

これでPintaだけを削除できました・・・はずです。