Форум сайта python.su
0
Есть программа которая стоит графики. Но мне надо сделать так чтобы я вводил функцию в окно ввода, и потом она строилась по нажатию на кнопку. Не совсем понимаю как это сделать. Так же у меня не строятся графики tan, atan, и другие кроме cos, sin, log, и xp. Так же не строятся графики вида 1/x
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(-10,10.01,0.01)
plt.plot(x,np.sin(x),x,np.cos(x),x,-x)
plt.xlabel(r'$x$')
plt.ylabel(r'$f(x)$')
plt.title(r'$f_1(x)=\sin(x),\ f_2(x)=\cos(x),\ f_3(x)=-x$')
plt.grid(True)
plt.show()
Отредактировано Kyurem_BoG (Май 19, 2017 18:18:03)
Офлайн
0
Ни кто не знает что ли?
Офлайн
857
Kyurem_BoGОкно ввода у тебя как-то не наблюдается. Используй PyQt, чтобы сделать окно ввода. Но вводиться всё равно будет простой текст, который надо распознать и отнести к определённой функции. Поэтому всё это можно сделать в консоли поначалу, так как текст в консоли и текст в графическом окне будет распознаваться одинаково. А для распознавания текста нужно разработать алгоритм. Если попроще разрабатывать, то он должен принимать только точные написания функций, а на все остальные выдавать сообщение об ошибке при вводе.
Но мне надо сделать так чтобы я вводил функцию в окно ввода
Офлайн
253
Kyurem_BoGТак вы ничего не спрашивали. Одна констатация фактов и ни одной просьбы.
Ни кто не знает что ли?
py.user.nextНу не обязательно. в матплотлибе в доках есть пример построения разных графиков при выборе пункта меню или нажатии кнопок. ТС мог все просто скопипастить. Надо только доки открыть.
Используй PyQt, чтобы сделать окно ввода
Офлайн
857
doza_andЯ нашёл пример с текстовым полем, но у себя его запустить не смог, так как нет текстового поля.
есть пример построения разных графиков при выборе пункта меню или нажатии кнопок
>>> import matplotlib.widgets >>> dir(matplotlib.widgets) ['AxesWidget', 'Button', 'CheckButtons', 'Circle', 'Cursor', 'Lasso', 'LassoSelector', 'Line2D', 'LockDraw', 'MultiCursor', 'RadioButtons', 'Rectangle', 'RectangleSelector', 'Slider', 'SpanSelector', 'SubplotTool', 'Widget', '__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', 'blended_transform_factory', 'dist', 'np'] >>>
Отредактировано py.user.next (Май 23, 2017 11:09:13)
Офлайн