Olá!
Estou fazendo um programa que recebe uma função, e a partir dela você pode escolher entre calcular a integral, derivada, ou plotar um gráfico da mesma. Como disse no título do tópico, estou utilizando Python e Qt 4 Designer para a interface.
Meu problema é quando tento plotar o gráfico dessa função. Não é possível faze-lo, pois o tipo de dado que o QLineEdit( input do Qt 4 Designer onde a função é digitada) manda para a varíavel é incompatível com a da biblioteca matplotlib.
O que comprova que o problema é com a incompatibilidade de dados, é que se a função for digitada através do Terminal(Linux), não havendo alteração no código fonte, a função é plotada.
Vou deixar o código fonte abaixo. Agradeço deste já!
import sysfrom Ui_Menu import *from sympy import *import numpy as np import matplotlib.pyplot as plt class FormMenu(QtGui.QDialog): def __init__(self, parent = None): QtGui.QWidget.__init__(self,parent) self.ui = Ui_Dialog() self.ui.setupUi(self) def on_btIntegral_released(self): #x = Symbol('x') x = self.ui.lnFuncao.text() x = str(x) result = integrate(x) result = str(result) self.ui.lnResultado.setText(result) def on_btDerivada_released(self): #x = Symbol('x') x = self.ui.lnFuncao.text() x = str(x) result = diff(x) result = str(result) self.ui.lnResultado.setText(result) #Aqui é a função do botão de gráfico. Ao clicar nele, esta função será executada def on_btGrafico_released(self): x = np.array(range(-10, 11)) y = self.ui.lnFuncao.text() plt.plot(x, y) plt.show()
Abaixo está o código da função, se a mesma for recebida pelo terminal (Funciona):
import numpy as np import matplotlib.pyplot as plt x = np.array(range(-10, 11)) y = input("Digite uma funcao")plt.plot(x, y) plt.show()