Python의 Matplotlib 라이브러리는 데이터와 정보를 그래프나 플롯 형태로 시각화하는 데 매우 유용하며, 다양한 애플리케이션에서 폭넓게 활용되고 있습니다. 이러한 Matplotlib는 Tkinter 애플리케이션 안에서도 실행할 수 있습니다. 일반적으로 Python 라이브러리를 명시적으로 임포트하면 해당 라이브러리가 제공하는 모든 함수와 모듈에 접근할 수 있게 됩니다.
Matplotlib와 그 기능들을 활용하는 GUI 애플리케이션을 만들려면 from matplotlib import pyplot as plt 명령어를 사용해 라이브러리를 임포트해야 합니다. 아울러 백엔드에서 TkAgg를 함께 사용하면 Tkinter 사용자 인터페이스와 대화형으로 연동할 수 있습니다.
예제
다음 예제에서는 TkAgg와 matplotlib를 임포트한 후, 캔버스(Canvas) 위젯 안에 데이터 포인트를 플롯하여 시각화하는 과정을 살펴봅니다.
# 필요한 라이브러리 임포트
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축에 데이터 포인트가 표시된 것을 확인할 수 있습니다.
