Pythonの強力なライブラリであるmatplotlibを使用して、グラフを表示するウィンドウを作成する方法を紹介します。この記事では、tkinterのGUIにmatplotlibのグラフを表示する方法について詳しく説明します。
まず、matplotlibの Figure
クラスを使用してグラフの描画領域を確保し、グラフ描画用の座標軸を作成します。次に、 FigureCanvasTkAgg
クラスを使用して作成した Figure
と Figure
の配置先のウィジェットを指定し、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プログラミングに役立つことを願っています。.