Python - Como variar el gráfico con los botones interactivo?

 
Vista:
sin imagen de perfil
Val: 8
Ha disminuido su posición en 11 puestos en Python (en relación al último mes)
Gráfica de Python

Como variar el gráfico con los botones interactivo?

Publicado por Martin (4 intervenciones) el 20/07/2020 18:19:01
AYUDA!!
mi principal problema es que no logro que en mi gráfico varíen sus datos en base a los botones interactivos.

en la primera clase motor los "self.areapiston" y "self.carrera" son el tema principal.

si utilizo el np.arange se grafica mi función.

si dejo "self.areapiston = areapiston" y "self.carrera = carrera", entonces no aparece la curva en la gráfica, pero si varia el valor resultante.

LO QUE YO NECESITO ES, QUE APAREZCA LA CURVA Y QUE APAREZCAN LOS RESULTADOS.

ES DECIR, COMBINAR LOS 2 CODIGOS

AYUDA!!!!

1
2
3
4
5
6
7
8
class motor():
    #atributos
    def __init__(self, areapiston, carrera):
        self.areapiston= np.arange(0,100,1) # area del piston
        self.carrera = np.arange(0,100,1) #carrera del psiton
        self.ns= 50 # valor, np.arange(0,100,1) por segundo.
        self.z= 6 #valor, numero de cilindros.
        self.stroke = 4 #numero de tiempos del motor

esta es la segunda opción que intento

1
2
3
4
5
6
7
8
class motor():
    #atributos
    def __init__(self, areapiston, carrera):
        self.areapiston= areapiston # area del piston
        self.carrera = carrera #carrera del piston
        self.ns= 50 # valor, np.arange(0,100,1) por segundo.
        self.z= 6 #valor, numero de cilindros.
        self.stroke = 4 #numero de tiempos del motor

aquí esta lo principal Aunque si lo copian en sus compiladores les faltaran datos ya que omití parte de mi código para no saturar esto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def velMedPiston(self):
        u = 2*self.ns*self.carrera #velocidad media del piston
        return u
    def suptotpistones(self):
        st=self.areapiston * self.z #superficie total de los pistones
        return st
    def volumentotal(self):
        vol= self.areapiston* self.carrera
        return vol
    def potencia(self):
        u = self.velMedPiston()
        st = self.suptotpistones()
        wu=(nu*nvt*po*st*(hi/at)*(u/self.stroke))/1000 #potencia del motor.
        return wu
 
    def graficopotencia(self):
        fig, ax = plt.subplots()
        x = self.suptotpistones()
        y = self.potencia()
        ax.plot(x, y)
        ax.set_xlabel('superficie total de los pistones en mm2')
        ax.set_ylabel('Potencia del motor en HP')
        ax.set_title('Grafico de Potencia')
        ax.grid(True)
        ax.tick_params(labelcolor='b', labelsize='medium', width=3)
        plt.show()
 
@widgets.interact(areapiston=(0,100,1), carrera=(0,100,1))
def principal(areapiston,carrera):
    principal = motor(areapiston, carrera)
    print ('Cilindrada {} ccc'.format(principal.volumentotal()))
    print ('potencia {} HP'.format(principal.potencia()))
    return principal.graficopotencia()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 388
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Como variar el gráfico con los botones interactivo?

Publicado por Daniel (111 intervenciones) el 20/07/2020 20:33:26
Hola,

La función interact necesita como primer parámetro la función que general las gráficas y en el ejemplo solo veo los parámetros. Puede ver en este sitio puedes ver un ejemplo de como hacer gráficos interactivos en Jupyter Notebook

Saludos,
Daniel Rodríguez
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar