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_inverse_function():
try:
# 사용자로부터 입력을 받음
input_expression = entry.get()
# x 범위 설정
x = np.linspace(-10, 10, 400)
# 사용자가 입력한 수식을 계산
y = eval(input_expression, {"x": x, "np": np})
# 그래프 그리기
fig, ax = plt.subplots()
ax.plot(x, y, label=f'y = {input_expression}')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.legend()
# 캔버스를 tkinter 창에 삽입
canvas = FigureCanvasTkAgg(fig, master=window)
canvas.draw()
canvas.get_tk_widget().pack()
except Exception as e:
messagebox.showerror("Error", f"잘못된 입력입니다: {e}")
# tkinter GUI 설정
window = tk.Tk()
window.title("역함수 그래프 그리기")
# 라벨과 입력 창
label = tk.Label(window, text="역함수 입력 (예: 1/x):")
label.pack()
entry = tk.Entry(window)
entry.pack()
# 그래프 그리기 버튼
button = tk.Button(window, text="그래프 그리기", command=plot_inverse_function)
button.pack()
# 창 실행
window.mainloop()
'정보통신기술(ICT)' 카테고리의 다른 글
부등식 함수 (0) | 2024.09.24 |
---|---|
다차원 방정식 함수 (0) | 2024.09.23 |
절대값 함수 (0) | 2024.09.19 |
역삼각 함수 (0) | 2024.09.13 |
합성 함수 (0) | 2024.09.12 |