Ir ao conteúdo
  • Cadastre-se

Rifflidck

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

0
  1. 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()

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...