Код является фрагментом математической решалки, пишется just for lulz. Работает в случае, если в строке записана функция, не затрагивающая тригонометрию, логарифмы, экспоненты и тд. Но при попытке построить график функции f(x)=sin(x), например, выдаётся ошибка: TypeError: only length-1 arrays can be converted to Python scalars. Кто-нибудь с этим сталкивался?
import numpy as np
import matplotlib.pyplot as plt
from Tkinter import *
from math import sin
window=Tk()
window.geometry('400x300')
function=Entry(window)
function.pack()
def plot(event):
a=str(function.get())
x=np.arange(0,10,0.1)
y=eval(a)
plt.plot(x,y)
plt.show()
but=Button(window)
but.pack()
but.bind('<Button-1>',plot)
window.mainloop()