Форум сайта python.su
Есть программа которая стоит графики. Но мне надо сделать так чтобы я вводил функцию в окно ввода, и потом она строилась по нажатию на кнопку. Не совсем понимаю как это сделать. Так же у меня не строятся графики 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)
Офлайн
Ни кто не знает что ли?
Офлайн
Kyurem_BoGОкно ввода у тебя как-то не наблюдается. Используй PyQt, чтобы сделать окно ввода. Но вводиться всё равно будет простой текст, который надо распознать и отнести к определённой функции. Поэтому всё это можно сделать в консоли поначалу, так как текст в консоли и текст в графическом окне будет распознаваться одинаково. А для распознавания текста нужно разработать алгоритм. Если попроще разрабатывать, то он должен принимать только точные написания функций, а на все остальные выдавать сообщение об ошибке при вводе.
Но мне надо сделать так чтобы я вводил функцию в окно ввода
Офлайн
Kyurem_BoGТак вы ничего не спрашивали. Одна констатация фактов и ни одной просьбы.
Ни кто не знает что ли?
py.user.nextНу не обязательно. в матплотлибе в доках есть пример построения разных графиков при выборе пункта меню или нажатии кнопок. ТС мог все просто скопипастить. Надо только доки открыть.
Используй PyQt, чтобы сделать окно ввода
Офлайн
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)
Офлайн