tkinterでmatplotlibの画像を表示

matplotlib

はじめに

こんにちは、でめきんです。

今回は、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で画像表示

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

がライブラリーのインポートとなります。

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の作成ができるようになります。

ボタン等いろんなものを設置して、アプリを作成することが出来るようになるとプログラミングがもっと楽しくなってきますよね。

是非とも試してください。

タイトルとURLをコピーしました