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!!!!
esta es la segunda opción que intento
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.
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()
- Revisalo-porfavor.7z(3,6 KB)
Valora esta pregunta


0