はじめに
こんにちは、でめきんです。
今回は、tkinterを使ってmatplotlibの画像や、グラフを表示する方法を紹介したいと思います。
これを使うことでボタンや、エントリーボックスを設定することが出来、いわゆるソフト的な物を作成することが出来て非常に便利です。
それでは、やっていきましょう。
流れ
matplotlibで画像を表示する際には
① fig = plt.figure()
② ax = fig.add_subplot()
③ ax = ‘画像や配列’
④ plt.show()
で画像表示をしていくわけですが、tkinterを用いて画像表示する際には
④が変わってきます。
使うコード
使用するコードは
FigureCanvasTkAgg(fig, master=root)
となります。
Canvas = FigureCanvasTkAgg(fig, master=root)
引数部分は(matplotlibで設定したfig , tkinterで作成した領域)となります。
実際のコード
まずは、matplotlibで画像表示
1 2 3 4 5 6 7 8 9 10 11 |
import matplotlib.pyplot as plt from matplotlib.image import imread img = imread(“img.JPG”) fig = plt.figure() ax =fig.add_subplot() ax = img plt.imshow(img) plt.show() |
左上の部分を確認するとmatplotlibのマークが出ています。
続いて本題、tkinterを使ってmatplotlibの画像を表示してみたいと思います。
まず、必要なライブラリーのインポートします。
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
がライブラリーのインポートとなります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import tkinter from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg tkinterとmatplotlibを紐づけるライブラリ import matplotlib.pyplot as plt from matplotlib.image import imread img = imread(“img.JPG”) fig = plt.figure() ax =fig.add_subplot() ax = img plt.imshow(img) #plt.show() root = tkinter.Tk() root.title(“tkinterでmatplotの画像表示”) Canvas = FigureCanvasTkAgg(fig, master=root) Canvas.get_tk_widget().grid(row=0, column=0) root.mainloop() |
左上の羽のマークがtkinterという証拠になります。
最後に
いかがでしたか?
tkinterを用いることで、GUIの作成ができるようになります。
ボタン等いろんなものを設置して、アプリを作成することが出来るようになるとプログラミングがもっと楽しくなってきますよね。
是非とも試してください。