\

Pythonの強力なライブラリであるmatplotlibを使用して、グラフを表示するウィンドウを作成する方法を紹介します。この記事では、tkinterのGUIにmatplotlibのグラフを表示する方法について詳しく説明します。

まず、matplotlibの Figure クラスを使用してグラフの描画領域を確保し、グラフ描画用の座標軸を作成します。次に、 FigureCanvasTkAgg クラスを使用して作成した FigureFigure の配置先のウィジェットを指定し、matplotlib用のキャンバスを作成します。

グラフを描画する時は、作成した軸に対してグラフを描画し、最後に FigureCanvasTkAgg クラスで作成したオブジェクトの draw() メソッドを呼び出して、グラフを表示します。

以下にサンプルコードを示します。

import tkinter as tk
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
import numpy as np

class Application(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.master.title('matplotlib graph')

        # matplotlib配置用フレーム
        frame = tk.Frame(self.master)

        # matplotlibの描画領域の作成
        fig = Figure()

        # 座標軸の作成
        self.ax = fig.add_subplot(1, 1, 1)

        # matplotlibの描画領域とウィジェット(Frame)の関連付け
        self.fig_canvas = FigureCanvasTkAgg(fig, frame)

        # matplotlibのツールバーを作成
        self.toolbar = NavigationToolbar2Tk(self.fig_canvas, frame)

        # matplotlibのグラフをフレームに配置
        self.fig_canvas.get_tk_widget().pack(fill=tk.BOTH, expand=True)

        # フレームをウィンドウに配置
        frame.pack()

        # ボタンの作成
        button = tk.Button(self.master, text = "Draw Graph", command = self.button_click)

        # 配置
        button.pack(side = tk.BOTTOM)

    def button_click(self):
        # 表示するデータの作成
        x = np.arange(-np.pi, np.pi, 0.1)
        y = np.sin(x)

        # グラフの描画
        self.ax.plot(x, y)

        # 表示
        self.fig_canvas.draw()

root = tk.Tk()
app = Application(master=root)
app.mainloop()

このコードは、tkinterのウィンドウにmatplotlibのグラフを表示する簡単な例です。ボタンをクリックすると、sin関数のグラフが描画されます。

以上がPythonとmatplotlibを使用したグラフ表示ウィンドウの作成方法になります。この情報が皆さんのPythonプログラミングに役立つことを願っています。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です