疑問点
ふと思いました。
以下のplt.show()
を含むsample1
, 含まないsample2
どちらを実行しても、、、
比較
# sample1_plt.show()を含む
x = [1, 3, 5, 7, 9]
y = [2, 4, 6, 8, 10]
plt.plot(x, y, 'o')
plt.show()
# sample2_plt.show()を含まない
x = [1, 3, 5, 7, 9]
y = [2, 4, 6, 8, 10]
plt.plot(x, y, 'o')
↓のグラフが表示される。ではplt.show()
は何のためにあるのか、と。
事前準備
実行環境: Google Colab
import numpy as np
import matplotlib.pyplot as plt
解決
結論:cmd上で実行するとグラフが表示されない!!!
さっきはGoogle Colab上で実行しましたが、今度はそれぞれsample1.py
,sample2.py
で保存して、cmd上で実行してみました。
まずは、plt.show()
を含むコードsample1.py
をcmd上で実行してみます。
G:\マイドライブ\qiita>sample1.py
一方で、plt.show()
を含まないコードsample2.py
をcmd上で実行してみると、、
G:\マイドライブ\qiita>sample2.py
まとめ
対話的環境では不要:
Jupyter Notebook や Google Colab のような対話的な環境では、自動的に最後に生成されたグラフを表示する。そのため、plt.show() を明示的に書かなくてもグラフが表示される
スクリプト実行時には必要:
Python スクリプトをコマンドラインや統合開発環境(IDE)で実行する場合、plt.show() を書かないとグラフが表示されないことがある。