1. ホーム
  2. Machine Learning

Python on %matplotlib inline

2022-02-10 05:23:27

https://www.jianshu.com/p/2dda5bb8ce7d から取得

LSTMモデルを使って時系列を予測する必要があるコンテストに参加しているのですが、その時、githubのコードで以下のようなコードをよく見かけます。

import numpy
import matplotlib.pyplot as plt
from pandas import read_csv
import math
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error
%matplotlib inline


%matplotlib inline の最後の文が変で、spyder や pycharm など、どの python IDE を使っても、ここはエラーを報告して無効な構文を表示します。では、そもそもなぜこの文がコード中にあるのでしょうか?ということが判明しました。
%matplotlib の役割

  1. matplotlibがよく使われるのはjupyter notebookやjupyter qtconsoleを使っているときで、そのコードの一部はjupyter notebookやjupyter qtconsoleを使っている他の人によって編集された可能性があることを意味します。jupyter notebookがどのようなものかについては、こちらのリンクを参照してください。[Jupyter Notebookの紹介、インストール、使い方のチュートリアル][1]をご覧ください。
  2. そして、%matplotlib が特に行うことは、 matplotlib.pyplot の plot 関数 plot() を呼び出してプロットするとき、または figure canvas を生成するときに、 Python コンソール内に直接画像を生成することです。

そして、実際にspyderやpycharmでコードを実行する際も、この文章をコメントアウトするだけで正常に実行されます。次のような例です。

fig = plt.figure(facecolor='white')
ax = fig.add_subplot(111)


プロット実行中の画面

このように、軸を持った図形オブジェクトが生成され、キャンバスカラーは白になります。


著者:nguyen_descendant_bdd7
リンク: https://www.jianshu.com/p/2dda5bb8ce7d
出典 ジェーンの本
Janeの本の著作権は、著者に帰属します。転載の際は、著者にご連絡の上、出典を明記してください。