Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the easy-fancybox domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the urvanov-syntax-highlighter domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the breadcrumb-navxt domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the advanced-ads domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: 関数 _load_textdomain_just_in_time が誤って呼び出されました。lancr ドメインの翻訳の読み込みが早すぎました。これは通常、プラグインまたはテーマの一部のコードが早すぎるタイミングで実行されていることを示しています。翻訳は init アクション以降で読み込む必要があります。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 6.7.0 で追加されました) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Warning: Cannot modify header information - headers already sent by (output started at /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php:6114) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-content/plugins/all-in-one-seo-pack/app/Common/Meta/Robots.php on line 87

Warning: Cannot modify header information - headers already sent by (output started at /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php:6114) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/feed-rss2.php on line 8
matplotlibの画像をtkinterを用いて表示 | 診療放射線技師がPythonをはじめました。 http://radiology-technologist.info 診療放射線技師のPython日記。解析等で使えるコードを作成、アップしていきたいと思っています。その他いろいろ Tue, 10 Nov 2020 02:59:56 +0000 ja hourly 1 https://wordpress.org/?v=6.7.1 https://i0.wp.com/radiology-technologist.info/wp-content/uploads/2018/09/cropped-logo5.png?fit=32%2C32 matplotlibの画像をtkinterを用いて表示 | 診療放射線技師がPythonをはじめました。 http://radiology-technologist.info 32 32 164362728 tkinterでmatplotlibの画像を表示 http://radiology-technologist.info/post-956 Tue, 10 Nov 2020 02:59:48 +0000 http://radiology-technologist.info/?p=956 はじめに こんにちは、でめきんです。 今回は、tk […]

The post tkinterでmatplotlibの画像を表示 first appeared on 診療放射線技師がPythonをはじめました。.]]>
はじめに

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

今回は、tkinterを使ってmatplotlibの画像や、グラフを表示する方法を紹介したいと思います。

これを使うことでボタンや、エントリーボックスを設定することが出来、いわゆるソフト的な物を作成することが出来て非常に便利です。

それでは、やっていきましょう。


広告
デル株式会社

流れ

matplotlibで画像を表示する際には

① fig = plt.figure()

② ax = fig.add_subplot()

③ ax = ‘画像や配列’

④ plt.show()

で画像表示をしていくわけですが、tkinterを用いて画像表示する際には

④が変わってきます。


広告
HP Directplus -HP公式オンラインストア-

使うコード

使用するコードは

FigureCanvasTkAgg(fig, master=root)

となります。

Canvas = FigureCanvasTkAgg(fig, master=root)

引数部分は(matplotlibで設定したfig , tkinterで作成した領域)となります。


広告
BTOパソコン・パソコン関連商品がお買い得!パソコン工房のセール

実際のコード

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

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

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

広告
上新電機 パソコン買取サービス
The post tkinterでmatplotlibの画像を表示 first appeared on 診療放射線技師がPythonをはじめました。.]]>
956