Código de Python - Graficador de funciones

Requerimientos

Lenguaje: Python
Librerías: Tkinter, numpy, matplotlib

1.0
estrellaestrellaestrellaestrellaestrella(3)

Publicado el 23 de Febrero del 2020gráfica de visualizaciones de la versión: 1.0
7.471 visualizaciones desde el 23 de Febrero del 2020
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
from matplotlib import style
import matplotlib.animation as animation
import matplotlib.pyplot as plt
import numpy as np
from tkinter import messagebox
from math import *
 
root = tkinter.Tk()
root.wm_title("Graficador")
ta=root.geometry("1000x700")
 
style.use('fivethirtyeight')
 
fig = Figure()
ax1 = fig.add_subplot(111)
 
canvas = FigureCanvasTkAgg(fig, master=root)  # CREAR AREA DE DIBUJO DE TKINTER.
canvas.draw()
canvas.get_tk_widget().pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1)
 
toolbar = NavigationToolbar2Tk(canvas, root)# barra de iconos
toolbar.update()
canvas.get_tk_widget().pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1)
 
act_rango=False
ul_ran=""
ran=""
 
def animate(i):
    global act_rango
    global ul_ran
    if act_rango==True:
        try:
            lmin = float(ran[0]); lmax = float(ran[1])
            if lmin < lmax:
                x = np.arange(lmin, lmax, .01)#.01
                ul_ran = [lmin, lmax]
            else:
                act_rango = False
        except:
            messagebox.showwarning("Error","Introduzca los valores del rango de x, separado por coma.")
            act_rango=False
            ets.delete(0,len(ets.get()))
    else:
        if ul_ran!="":
            x = np.arange(ul_ran[0],ul_ran[1], .01)#.01
        else:
            x = np.arange(1, 10, .01)#.01
    try:
        solo=eval(graph_data)
        ax1.clear()
        ax1.plot(x,solo)
    except:
        ax1.plot()
    ax1.axhline(0, color="gray")
    ax1.axvline(0, color="gray")
    ani.event_source.stop() #DETIENE ANIMACIÓN
 
def represent():
    global graph_data
    global ran
    global act_rango
    texto_orig=et.get()
    if ets.get()!="":
        rann=ets.get()
        ran=rann.split(",")
        act_rango=True
    ta=texto_orig.replace("sin","np.sin")
    tb=ta.replace("cos","np.cos")
    tl=tb.replace("log","np.log")
    tc=tl.replace("tan","np.tan")
    tr=tc.replace("sqrt","np.sqrt")
    graph_data=tr
    ani.event_source.start() #INICIA/REANUDA ANIMACIÓN
 
 
ani = animation.FuncAnimation(fig, animate, interval=1000)
 
plt.show()
 
 
et = tkinter.Entry(master=root,width=60)
et.config(bg="gray87", justify="left")
 
button = tkinter.Button(master=root, text="SET", bg="gray69", command=represent)
button.pack(side=tkinter.BOTTOM)
 
et.pack(side=tkinter.BOTTOM)
ets=tkinter.Entry(master=root,width=20)
ets.config(bg="gray87")
ets.pack(side=tkinter.RIGHT)
#ets.insert(0,"RANGO DE X")
 
tkinter.mainloop()



Comentarios sobre la versión: 1.0 (3)

juan avendaño
25 de Julio del 2023
estrellaestrellaestrellaestrellaestrella
import numpy as np
import matplotlib.pyplot as plt

# Restricciones
x = np.linspace(0, 30000000, 1000)

# Restricción 1: A + V + I + P ≤ 30,000,000
plt.plot(x, 30000000 - x, label='A + V + I + P ≤ 30,000,000')

# Restricción 2: V + I ≥ 0.40 * (A + V + I + P)
plt.plot(x, 0.40 * (30000000 - x), label='V + I ≥ 0.40 * (A + V + I + P)')

# Restricción 3: A ≤ 0.50 * I
plt.plot(x, 0.50 * x, label='A ≤ 0.50 * I')

# Restricción 4: P ≤ 0.10 * (A + V + I + P)
plt.plot(x, 0.10 * 30000000 - 0.10 * x, label='P ≤ 0.10 * (A + V + I + P)')

# Restricción 5: 0.10 * 0.15 * A + 0.05 * 0.08 * V + 0.20 * 0.07 * I + 0.25 * 0.24 * P ≤ 0.06 * (A + V + I + P)
plt.plot(x, 0.06 * (30000000 - x) - 0.10 * 0.15 * x - 0.05 * 0.08 * x - 0.20 * 0.07 * x, label='Pagos Irrecuperables ≤ 6%')

plt.xlabel('A (Prestamos Automovil)')
plt.ylabel('V (Prestamos Vivienda) / I (Prestamos Inversion Rural) / P (Prestamos Personales)')
plt.legend()
plt.grid()
plt.show()
Responder
Luis Romero
11 de Septiembre del 2023
estrellaestrellaestrellaestrellaestrella
import matplotlib.pyplot as plt

def v(h):
return 37.5 * h

x = np.arange(0, 15, 0.1)
y = v(x)

plt.plot(x, y)
plt.xlabel("Profundidad del agua (pies)")
plt.ylabel("Volumen del agua (pies cúbicos)")
plt.show()
Responder
Daniela parra
7 de Marzo del 2024
estrellaestrellaestrellaestrellaestrella
Objetivo Principal: Mejorar la calidad del aire en las principales ciudades a través de un sistema de monitoreo ambiental efectivo.

Subobjetivos:
1. Implementar un sistema de monitoreo de la calidad del aire.
a. Adquirir equipos de monitoreo adecuados.
b. Establecer una red de estaciones de monitoreo en las ciudades.
c. Capacitar al personal para operar y mantener los equipos.
2. Recopilar datos precisos y actualizados sobre la calidad del aire.
a. Establecer protocolos de recolección de datos.
b. Garantizar la precisión y fiabilidad de los datos recopilados.
c. Integrar tecnologías de monitoreo avanzadas, como sensores remotos y análisis de big data.
3. Analizar y evaluar los datos para identificar áreas problemáticas y tendencias.
a. Desarrollar herramientas y algoritmos para el análisis de datos.
b. Realizar evaluaciones periódicas de la calidad del aire en diferentes áreas.
c. Identificar factores de riesgo y fuentes de contaminación.
4. Desarrollar e implementar medidas para reducir la contaminación del aire.
a. Establecer políticas de control de emisiones para industrias y vehículos.
b. Promover el uso de energías limpias y transporte público.
c. Educar a la población sobre prácticas ambientalmente responsables.
5. Monitorear la eficacia de las medidas implementadas y ajustarlas según sea necesario.
a. Evaluar regularmente los niveles de contaminantes atmosféricos.
b. Analizar el impacto de las medidas de mitigación en la calidad del aire.
c. Realizar estudios de seguimiento para evaluar el progreso a largo plazo.
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5959