import tkinter as tk
from tkinter import messagebox
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
# 절대값 함수를 그래프로 그리기
def plot_absolute_value():
try:
# 입력값을 가져옴
start = float(entry_start.get())
end = float(entry_end.get())
# 입력 범위에서 x 값을 생성하고 y = |x| 계산
x = np.linspace(start, end, 400)
y = np.abs(x)
# 그래프 초기화
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('y = |x|')
ax.set_xlabel('x')
ax.set_ylabel('y')
# 이전에 그려진 그래프를 제거하고 새 그래프 표시
for widget in graph_frame.winfo_children():
widget.destroy()
canvas = FigureCanvasTkAgg(fig, master=graph_frame)
canvas.draw()
canvas.get_tk_widget().pack()
except ValueError:
messagebox.showerror("입력 오류", "숫자를 입력해주세요.")
# GUI 설정
root = tk.Tk()
root.title("절대값 함수 그래프 그리기")
# 입력 필드 및 레이블
label_start = tk.Label(root, text="시작 값 (x):")
label_start.pack()
entry_start = tk.Entry(root)
entry_start.pack()
label_end = tk.Label(root, text="끝 값 (x):")
label_end.pack()
entry_end = tk.Entry(root)
entry_end.pack()
# 그래프 그리기 버튼
plot_button = tk.Button(root, text="그래프 그리기", command=plot_absolute_value)
plot_button.pack()
# 그래프가 표시될 프레임
graph_frame = tk.Frame(root)
graph_frame.pack()
# GUI 시작
root.mainloop()
'정보통신기술(ICT)' 카테고리의 다른 글
다차원 방정식 함수 (0) | 2024.09.23 |
---|---|
역 함수 (0) | 2024.09.20 |
역삼각 함수 (0) | 2024.09.13 |
합성 함수 (0) | 2024.09.12 |
부분 함수 (0) | 2024.09.11 |