ゼロから作るディープラーニング 3日目 1章 Python入門 Matplotlib
初心者が詰まったポイントと対策とか
Matplotlib
プロットと入ってることから想像できるようにグラフ描画のライブラリ
sin描画コード
import numpy as np
import matplotlib.pyplot as plt# データの作成
x = np.arange(0, 6, 0.1) #0から6まで0.1刻みで生成
y = np.sin(x)# グラフの描画
plt.plot(x, y)
plt.show()
コードを実行すると、下記エラーが出た
C:\Users\xxxx>python "C:\DEV\_python\1.6.1_sin.py"
File "C:\DEV\_python\1.6.1_sin.py", line 5
SyntaxError: Non-UTF-8 code starting with '\x83' in file C:\DEV\_python\1.6.1_sin.py on line 5, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
対策:PythonスクリプトのエンコードをUTF8に変更して保存後、再度実行したらOK
cos描画コード
import numpy as np
import matplotlib.pyplot as plt
# データの作成
x = np.arange(0, 6, 0.1) # 0から6まで0.1刻みで生成
y1 = np.sin(x)
y2 = np.cos(x)# グラフの描画
plt.plot(x, y1, label="sin")
plt.plot(x, y2, linestyle = "--", label = "cos") # 破線で描画
plt.xlabel("x") # x軸のラベル
plt.ylabel("y") # y軸のラベル
plt.title('sin & cos')
plt.legend
plt.show()
pyplotで画像表示
下記エラーが出た
Traceback (most recent call last):
File "C:\Users\xxxx\AppData\Local\Programs\Python\Python36-32\lib\site-packages\matplotlib\image.py", line 1460, in imread
from PIL import Image
ModuleNotFoundError: No module named 'PIL'During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\DEV\_python\1.6.3_img.py", line 4, in <module>
img = imread('lena.jpg')
File "C:\Users\xxxx\AppData\Local\Programs\Python\Python36-32\lib\site-packages\matplotlib\image.py", line 1462, in imread
raise ValueError('Only know how to handle PNG; with Pillow '
ValueError: Only know how to handle PNG; with Pillow installed, Matplotlib can handle more images
pngオンリーらしい
http://optipng.sourceforge.net/pngtech/img/lena.html
pngにしたら下記エラーが出た
FileNotFoundError: [Errno 2] No such file or directory: 'lena.png'
あ、コマンドプロンプトが今動いてるカレントディレクトリ「C:\Users\xxxx>」を探してるからファイルないって言われてるのかな
相対じゃなくてフルパスで指定してみる→正解
最終コード
import matplotlib.pyplot as plt
from matplotlib.image import imreadimg = imread('C:\DEV\_python\lena.png')
plt.imshow(img)plt.show()
以上で1章終了。