TkinterでMatplotlibを使うには?GUIアプリにグラフを表示する方法
PythonのMatplotlibは、データや情報をグラフやプロットとして視覚化できる強力なライブラリで、多くのアプリケーションで活用されています。実は、MatplotlibはTkinterアプリケーションの中でも動作させることが可能です。通常、Pythonライブラリを明示的にインポートすれば、そのライブラリが持つすべての関数やモジュールにアクセスできるようになります。
Matplotlibの機能を利用したGUIアプリケーションを作成する場合は、from matplotlib.figure import Figure のように必要なモジュールをインポートします。さらに重要なのが、バックエンドとして TkAgg を指定することです。TkAggはTkinterのユーザーインターフェースと対話的に連携するための仕組みで、これによりMatplotlibの図をTkinterウィンドウ上に直接描画できます。
TkinterでMatplotlibを表示する手順
基本的な流れは以下の通りです。
1. matplotlib.use("TkAgg") でバックエンドをTkAggに設定する
2. Figure オブジェクトを作成し、サブプロットにデータを描画する
3. FigureCanvasTkAgg を使ってFigureをTkinterウィジェットに関連付ける
4. grid() や pack() などでウィジェットをウィンドウに配置する
サンプルコード
それでは、実際にTkAggとMatplotlibをインポートし、キャンバスウィジェット内にデータポイントをプロットして視覚化する例を見てみましょう。
# 必要なライブラリをインポート
from tkinter import *
from tkinter import ttk
import matplotlib
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
# tkinterフレームのインスタンスを作成
win = Tk()
# ウィンドウサイズを設定
win.geometry("700x350")
# バックエンドとしてTkAggを使用
matplotlib.use("TkAgg")
# 指定したサイズでFigureを作成
figure = Figure(figsize=(3, 3), dpi=100)
# プロット領域(サブプロット)を定義
plot = figure.add_subplot(1, 1, 1)
plot.plot(0.5, 0.3, color="blue", marker="o", linestyle="")
# X軸・Y軸のデータポイントを定義
x = [0.2, 0.5, 0.8, 1.0]
y = [1.0, 1.2, 1.3, 1.4]
plot.plot(x, y, color="red", marker="x", linestyle="")
# Figureをキャンバスに関連付けるウィジェットを追加
canvas = FigureCanvasTkAgg(figure, win)
canvas.get_tk_widget().grid(row=0, column=0)
win.mainloop()実行結果
上記のコードを実行すると、ウィンドウ内にX軸・Y軸上のデータポイントを含むプロットが表示されます。青色の丸マーカーと赤色の×マーカーが、それぞれ個別のデータ系列として描画されていることが確認できます。

ポイント解説
このコードの鍵となるのは FigureCanvasTkAgg です。これはMatplotlibのFigureをTkinterのキャンバスウィジェットとして扱えるようにするクラスで、get_tk_widget() メソッドを呼び出すことで、通常のTkinterウィジェットと同じようにレイアウト管理(gridやpack)を行えます。また、linestyle="" を指定することで線を非表示にし、マーカーのみの散布図的な表示にしている点もポイントです。
-
TkinterアプリでMatplotlibのグラフを描画・表示する方法
Pythonは、機械学習やデータサイエンスの分野で特に広く活用されているプログラミング言語です。データセットを可視化してグラフ化する際には、Matplotlibライブラリが定番として使われています。 Tkinterアプリケーション内でMatplotlibのグラフを描画するには、まず「import matplotlib.pyplot as plt」という形でライブラリを読み込みます。グラフは、値の範囲を定義して描画することもできますし、ノートブックにデータセットをインポートして描画することも可能です。 サンプルコード # 必要なライブラリをインポート from tkinter import *
-
FlaskでMatplotlibのグラフを表示する方法【サンプルコード付き】
Webアプリケーション上でグラフを動的に表示したい場合、FlaskとMatplotlibを組み合わせるのが効果的です。この記事では、Flaskアプリケーション内でMatplotlibのプロットをPNG画像としてブラウザに返す方法を、具体的な手順とサンプルコードとともにわかりやすく解説します。 実装の流れ FlaskでMatplotlibのグラフを表示するまでの基本的な手順は以下の通りです。 小さなFlaskアプリケーションを作成する カレントディレクトリに移動し、環境変数を設定してアプリを起動する$ export FLASK_APP=file.py$ flask run ブラウザで http