Exemplo n.º 1
0
def prueba_interactivo():
    def animate(i, x, y, gf):
        x.append(i)
        y.append(random.randint(0, 1))
        gf.g2d_graficar(0, x, y)

    gf = Graficador(["0,0"], 1, 1, estilo="seaborn")
    y = []
    x = []
    gf.set_real_time_on(animate, 1000, fargs=(x, y, gf))
Exemplo n.º 2
0
def prueba_coloreado():
    graficador = Graficador(["0,0"], filas=1, col=1, estilo="seaborn")
    graficador.g2d_graficar(0, [1, 2, 3, 4], [1, 2, 3, 4])
    graficador.set_ax_metadata__(0,
                                 titulo="Prueba coloreado",
                                 x_label="Eje X",
                                 y_label="Eje Y",
                                 x_font=25,
                                 y_font=25)
    graficador.colorear_area(0, [1, 2], [1, 2],
                             label="Area debajo de la curva",
                             posLegend="upper left")
    graficador.display_graficos()
Exemplo n.º 3
0
def set_de_graficos_numero_cuatro():
    graficador = Graficador(["0:2,0", "2,0", "0:2,1:", "2:,1:"],
                            filas=3,
                            col=3,
                            estilo="seaborn")
    data = np.array([
        1, 2, 3, 4, 4, 5, 5, 2, 6, 2.5, 6, 5, 4, 8, -5, 4.2, 7, 8, 2.3, 12, 9,
        5, 3, 4, 6, 4.3, 5.2, 5, 4, 6.8, 15
    ])
    graficador.boxplot(0, data)

    rowL = ["Mean", "varianza", "Desv_estandar", "Std_err"]
    mean = round(np.mean(data), 2)
    varianza = round(np.sum((data - mean)**2) / len(data), 2)
    desv_estandar = round(np.sqrt(varianza), 2)
    estandar_error = round(desv_estandar / np.sqrt(len(data)), 2)
    celInf = [[mean], [varianza], [desv_estandar], [estandar_error]]
    colLabel = ["Flores"]
    graficador.tabla(1,
                     celInf,
                     rowL,
                     colLabel,
                     c_celdas="#f6f6f6",
                     c_rowL="#c176c8",
                     c_colL="#4f4f4f")

    graficador.display_graficos()
Exemplo n.º 4
0
def set_de_graficos_numero_dos():
    graficador = Graficador(['0,0'], 1, 1, estilo=["seaborn"])
    graficador.set_ax_metadata__(0,
                                 titulo="Prueba solo un grafico",
                                 x_label="Eje x",
                                 y_label="Eje y")
    graficador.g2d_dispersion(0, [1, 2, 3, 4], [1, 2, 3, 4])
    graficador.display_graficos()
Exemplo n.º 5
0
def discreto_vs_continuo():
    gf = Graficador(["0,0", "0,1"], filas=1, col=2, estilo="seaborn")
    gf.g2d_graficar(0, [1, 2, 3, 4, 5], [1, 2, 3, 4, 5],
                    c_linea="#d16f6f",
                    label="Continuo")
    gf.g2d_grafico_discreto(1, [1, 2, 3, 4, 5], [1, 2, 3, 4, 5],
                            label="Discreto")
    gf.display_graficos()
 def __init__(self,Sudoku):
     """Contructor
         Se Inicializa la variable del tablero para tener acceso a este y creamos un objeto de tipo graficador para poder pintar el tablero.
         Parametro:
         s El objeto padre de tipo Sudoku que crea a este objeto."""
     self.sudoku=Sudoku
     self.graficador=Graficador(self.sudoku)
     self.MessageBox= ctypes.windll.user32.MessageBoxA
     self.MB_ICONERROR = 0x00000010L #Critical Icon
Exemplo n.º 7
0
def prueba_fechas():
    dates = [
        datetime(2019, 5, 24),
        datetime(2019, 5, 25),
        datetime(2019, 5, 26),
        datetime(2019, 5, 27),
        datetime(2019, 5, 28),
        datetime(2019, 5, 29),
        datetime(2019, 5, 30)
    ]

    gf = Graficador(["0,0:"], filas=1, col=2, estilo="seaborn")
    gf.g2d_grafico_discreto(0, dates, [4, 5, 3, 5, 6, 3, 5], baseline=False)
    gf.format_date_axis(0)
    gf.display_graficos()
Exemplo n.º 8
0
def prueba_matriz_confusion_con_categorias():
    gf = Graficador(["0,0"], filas=1, col=1, estilo="seaborn")
    matriz = np.array([[25, 0, 0, 0, 0], [2, 30, 1, 0, 0], [1, 0, 45, 0, 5],
                       [0, 0, 2, 62, 4], [1, 0, 3, 0, 29]])
    gf.matriz_de_confusion(
        0,
        matriz,
        labels_categorias=["Gato", "Perro", "Cerdo", "Caballo", "Vaca"])
    gf.display_graficos()
Exemplo n.º 9
0
def prueba_contornos():
    gf = Graficador(["0:,0", "0:,1"], filas=2, col=2, estilo="seaborn")
    X = np.array([1, 2, 3, 4, 5])
    Y = np.array([1, 2, 3, 4, 5])
    Z = np.zeros(shape=(X.shape[0], Y.shape[0]))
    Z[0, 0] = 5
    Z[1, 1] = 5
    Z[2, 2] = 5
    Z[2, 2] = 5
    Z[3, 3] = 5
    gf.g2d_contour(0, X, Y, Z, niveles=5, display_level=False, fcontour=False)
    gf.display_graficos()
Exemplo n.º 10
0
def tabla_interactiva():
    def animate(i, graficador):
        def turn_white_and_black(vector):
            return ["#4f4f4f" if x < 0.5 else "#f6f6f6" for x in vector]

        def turn_blank(vector):
            return ["" for _ in vector]

        matrix = np.random.rand(5, 5)
        black_and_white_matrix = np.array(
            list(map(turn_white_and_black, matrix)))
        empty_string_matrix = np.array(np.array(list(map(turn_blank, matrix))))
        graficador.tabla(0,
                         empty_string_matrix,
                         c_celdas=black_and_white_matrix)

    graficador = Graficador(["0,0"], filas=1, col=1, estilo="seaborn")
    graficador.set_real_time_on(animate, 4000, fargs=[graficador])
    graficador.display_graficos()
Exemplo n.º 11
0
def set_de_graficos_uno():

    #Instancio clase
    graficador = Graficador(['0,0', '0,1', '0,2'], 1, 3, estilo=["seaborn"])

    #Realizo Grafico Uno
    graficador.set_ax_metadata__(0,
                                 titulo="Combinacion graficos",
                                 x_label="Eje x",
                                 y_label="Eje y")
    graficador.g2d_graficar(0, [1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6],
                            estilo_linea="dotted",
                            label="Dotted line",
                            posLegend="upper left")
    graficador.g2d_graficar(0, [1, 2, 3, 4, 5, 6], [6, 5, 4, 3, 2, 1],
                            label="Solid line",
                            posLegend="upper center")

    #Realizo Grafico Dos
    graficador.set_ax_metadata__(1, titulo="Histograma")
    graficador.histograma(1, [1, 1, 2, 3, 2, 5, 6, 2, 1.5, 6, 4])

    #Realizo Grafico Tres
    graficador.set_ax_metadata__(2,
                                 titulo="Histograma conjunto",
                                 x_label="Eje x",
                                 y_label="Eje y",
                                 x_font=24,
                                 y_font=24)
    graficador.histograma_conjunto(2, [1, 1, 2, 3, 2, 5, 6, 2, 1.5, 6, 6],
                                   [1, 3, 3, 2, 1, 3, 6, 8, 4, 5, 6, 4, 1, 2],
                                   label=["H1", "H2"])

    #Hago un display de los graficos
    graficador.display_graficos()
Exemplo n.º 12
0
def set_de_graficos_numero_tres():
    # #Instancio clase
    graficador = Graficador(['0,0', '0,1:', '1,0', '1,1:'],
                            2,
                            3,
                            estilo=["seaborn"])

    #Realizo grafico numero uno
    graficador.set_ax_metadata__(0, titulo="Prueba Opaquidad")
    graficador.g2d_graficar(0, [1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6],
                            opaquez=0.77,
                            c_marker="red",
                            label="Aproximation",
                            posLegend="upper left")
    graficador.g2d_dispersion(0, [1, 2, 3, 4, 5, 6],
                              [1.2, 2.2, 2.8, 3.7, 5.1, 6],
                              s=45,
                              opaquedad=0.8,
                              posLegend="upper left",
                              label="Real")

    #Realizo grafico numero dos
    graficador.set_ax_metadata__(1, titulo="Grafico tarta")
    graficador.grafico_tarta(1, [21321, 15689, 26500],
                             labels=["Perros", "Loros", "Tortugas"],
                             anchoLinea=3,
                             colores=["#624848", "#394f35", "#f45ddc"],
                             sombra=True,
                             d_valores=True,
                             s_destacar="max",
                             angulo_inicio=90)

    #Realizo grafico numero tres
    graficador.g2d_barras(2, [1, 2, 3, 4, 5], [20, 50, 70, 50, 20],
                          label="Barras")
    graficador.set_ax_metadata__(2, titulo="Grafico barras")
    graficador.set_ax_ticks(2,
                            x_ticks=[1, 2, 3, 4, 5],
                            x_labels=[15, 20, 25, 30, 35])
    graficador.dibujar_linea(2, 23, 0.2, 1, label="Prueba linea horizontal")

    #Realizo grafico numero cuatro
    graficador.g2d_barras(3, [1, 2, 3, 4, 5], [20, 50, 70, 50, 20],
                          pos_barras="horizontal",
                          label="Barras")
    graficador.set_ax_metadata__(3, titulo="Grafico barras horizontal")
    graficador.set_ax_ticks(3,
                            y_ticks=[1, 2, 3, 4, 5],
                            y_labels=[15, 20, 25, 30, 35])
    graficador.dibujar_linea(3,
                             2,
                             0.2,
                             0.8,
                             orientacion="vertical",
                             label="Prueba linea vertical")

    #Hago un display de los graficos
    graficador.display_graficos()
Exemplo n.º 13
0
from main import Juego
from graficador import Graficador

g = Graficador()
piezas = 7
miJuego = Juego(piezas)
miJuego.setGraficador(g)

g.graf(miJuego)
miJuego.mover(piezas, 0)
while(1):
    g.graf(miJuego)
Exemplo n.º 14
0
def prueba_grafico_por_imagen2():
    gf = Graficador(["0:2,0:", "2:,0:"], filas=4, col=4, estilo="seaborn")
    gf.graficar_imagen_por_ruta(0, "/home/juan/Downloads/feedfw.png")
    gf.graficar_imagen_por_ruta(1, "/home/juan/Downloads/cnn.jpeg")
    #/ home / juan / Downloads
    gf.display_graficos()
Exemplo n.º 15
0
def prueba_grafico_por_imagen():
    gf = Graficador(["0:,0:"], filas=2, col=2, estilo="seaborn")
    gf.graficar_imagen_por_ruta(0, "/home/juan/Downloads/feedfw.png")
    #/ home / juan / Downloads
    gf.display_graficos()
Exemplo n.º 16
0
def prueba_matriz_confusion_sin_categorias():
    gf = Graficador(["0,0"], filas=2, col=2, estilo="seaborn")
    matriz = np.array([[25, 0, 0, 0, 0], [2, 30, 1, 0, 0], [1, 0, 45, 0, 5],
                       [0, 0, 2, 62, 4], [1, 0, 3, 0, 29]])
    gf.matriz_de_confusion(0, matriz)
    gf.display_graficos()
class Validador:

    def __init__(self,Sudoku):
        """Contructor
            Se Inicializa la variable del tablero para tener acceso a este y creamos un objeto de tipo graficador para poder pintar el tablero.
            Parametro:
            s El objeto padre de tipo Sudoku que crea a este objeto."""
        self.sudoku=Sudoku
        self.graficador=Graficador(self.sudoku)
        self.MessageBox= ctypes.windll.user32.MessageBoxA
        self.MB_ICONERROR = 0x00000010L #Critical Icon
        
    def Relacionar(self):
        """Pasa de la imagen de la ficha a un entero que corresponde al numero de la imagen."""
        self.sudoku.numeros=[]
        for i in range(9):
            n=[]
            for j in range(9):
                n.append(int(self.sudoku.cajas[i][j].accessibleName()))
            self.sudoku.numeros.append(n)
            
    def ValidarEspaciosVacios(self):
        """Verifica si el en tablero hay algun espacio vacio
            Retorna: 1 -> Completo , 0 -> Incompleto."""
        for i in range(9):
            for j in range(9):
                if self.sudoku.numeros[i][j]==0:
                    return 0
        return 1
    
    def SubCuadros(self):
        """Extrae la subcuadricula en la que se va a buscar algun posible numero repetido.
            Retorna: 1 -> Correcto , 0 -> Existen numeros repetidos"""
        contador = 0
        self.sudoku.subnumeros=[]
        for i in range(3):
            self.sudoku.subnumeros.append([0]*3)
        #Primer SubCuadro
        for i in range(3):
            for j in  range(3):
                self.sudoku.subnumeros[i][j] = self.sudoku.numeros[i][j]
        contador = contador + self.VerificarSubCuadro()
        if not(self.VerificarSubCuadro()):
            self.graficador.pintaSub(0, 0)
        #Segundo SubCuadro
        for i in range(3):
            for j in  range(3,6):
                self.sudoku.subnumeros[i][j-3] = self.sudoku.numeros[i][j]
        contador = contador + self.VerificarSubCuadro()
        if not(self.VerificarSubCuadro()):
            self.graficador.pintaSub(0, 3)
        #Tercer SubCuadro
        for i in range(3):
            for j in  range(6,9):
                self.sudoku.subnumeros[i][j-6] = self.sudoku.numeros[i][j]
        contador = contador + self.VerificarSubCuadro()
        if not(self.VerificarSubCuadro()):
            self.graficador.pintaSub(0, 6)
        #Cuarto SubCuadro
        for i in range(3,6):
            for j in  range(3):
                self.sudoku.subnumeros[i-3][j] = self.sudoku.numeros[i][j]
        contador = contador + self.VerificarSubCuadro()
        if not(self.VerificarSubCuadro()):
            self.graficador.pintaSub(3, 0)
        #Quinto SubCuadro
        for i in range(3,6):
            for j in  range(3,6):
                self.sudoku.subnumeros[i-3][j-3] = self.sudoku.numeros[i][j]
        contador = contador + self.VerificarSubCuadro()
        if not(self.VerificarSubCuadro()):
            self.graficador.pintaSub(3, 3)
        #Sexto SubCuadro
        for i in range(3,6):
            for j in  range(6,9):
                self.sudoku.subnumeros[i-3][j-6] = self.sudoku.numeros[i][j]
        contador = contador + self.VerificarSubCuadro()
        if not(self.VerificarSubCuadro()):
            self.graficador.pintaSub(3, 6)
        #Septimo SubCuadro
        for i in range(6,9):
            for j in  range(3):
                self.sudoku.subnumeros[i-6][j] = self.sudoku.numeros[i][j]
        contador = contador + self.VerificarSubCuadro()
        if not(self.VerificarSubCuadro()):
            self.graficador.pintaSub(6, 0)
        #Octavo SubCuadro
        for i in range(6,9):
            for j in  range(3,6):
                self.sudoku.subnumeros[i-6][j-3] = self.sudoku.numeros[i][j]
        contador = contador + self.VerificarSubCuadro()
        if not(self.VerificarSubCuadro()):
            self.graficador.pintaSub(6, 3)
        #Noveno SubCuadro
        for i in range(6,9):
            for j in range(6,9):
                self.sudoku.subnumeros[i-6][j-6] = self.sudoku.numeros[i][j]
        contador = contador + self.VerificarSubCuadro()
        if not(self.VerificarSubCuadro()):
            self.graficador.pintaSub(6, 6)
        if contador == 9:
            return 1
        return 0
                   
    def VerificarSubCuadro(self):
        """Valida que no existan numeros repetidos en la subcuadricula.
            En caso de haber algun numero repetido en la subcuadricula, se pinta dicha subcuadricula.
            Retorna: 1 -> Correcto , 0 -> Existen numeros repetidos"""
        for i in range(3):
            for j in range(3):
                numero = self.sudoku.subnumeros[i][j]
                if numero != 0:
                    for k in range(3):
                        for l in range(3):
                            if i != k or j != l:
                                if numero == self.sudoku.subnumeros[k][l]:
                                    return 0
        return 1
    
    def ValidarX(self):
        """Recorre el tablero linea a linea para encontrar numeros repetidos
        Retorna: 1 -> Correcto , 0 -> Existen numeros repetidos."""
        b = 1
        for i in range(9):
            b = self.ValidaLinea(i)
            if b == 0:
                self.graficador.pintaX(i)
                return 0
        return 1
            
    def ValidaLinea(self,i):
        """Busca en la linea i si existe algun numero repetido.
            Parametro: i Linea donde se buscara.
            Retorna: 1 -> Correcto , 0 -> Existen numeros repetidos."""
        fichas=[0]*10
        for j in range(9):
            indice = self.sudoku.numeros[i][j]
            fichas[indice] = fichas[indice] + 1
        return self.VerificaArregloIndices(fichas)
    
    def ValidarY(self):
        """Recorre el tablero columna a columna para encontrar numeros repetidos
            Retorna: 1 -> Correcto , 0 -> Existen numeros repetidos."""
        b = 1
        for j in range(9):
            b = self.ValidaColumna(j)
            if b == 0:
                self.graficador.pintaY(j)
                return 0
        return 1
            
    def ValidaColumna(self,j):
        """Busca en la columna j si existe algun numero repetido.
            Parametro: j Columna donde se buscara.
            Retorna: Valor: 1 -> Correcto , 0 -> Existen numeros repetidos."""
        fichas=[0]*10
        for i in range(9):
            indice = self.sudoku.numeros[i][j]
            fichas[indice] = fichas[indice] + 1
        return self.VerificaArregloIndices(fichas)
    
    def VerificaArregloIndices(self,fichas):
        """Verifica el numero de veces que se repite un numero.
            Si algun numero se repite mas de una vez, entonces existe algun repetido.
            Parametro: fichas Numero de ocurrencias de cada numero.
            Retorna: 1 -> Correcto , 0 -> Existen numeros repetidos."""
        for i in range(1,10):
            if fichas[i] > 1:
                return 0
        return 1
    
    def Validaciones(self):
        """Maneja todas las validaciones y muestra un mensaje al usuario de acuerdo al tipo de error.
            Retorna: 1 -> Correcto , 0 -> Existen numeros repetidos."""
        b=1
        if not(self.sudoku.invalida):
            return 1
        if not(self.ValidarX()):
            self.MessageBox(None,"Existen Numeros Repetidos En Las Filas..!","ERROR",self.MB_ICONERROR)
            self.graficador.pintaTablero()
            b=0
        if not(self.ValidarY()):
            self.MessageBox(None,"Existen Numeros Repetidos En Las Columnas..!","ERROR",self.MB_ICONERROR)
            self.graficador.pintaTablero()
            b=0
        if not(self.SubCuadros()):
            self.MessageBox(None,"Existen Numeros Repetidos En Las Sub-Cuadriculas..!","ERROR",self.MB_ICONERROR)
            self.graficador.pintaTablero()
            b=0
        return b
Exemplo n.º 18
0
    s = list()
    for i in range(0,n):
        s.append( str(a[i])+"+" + str(b[i])+"*(x-"+str(x[i])+")+"+\
                 str(c[i])+"*(x-"+ str(x[i]) +")**2+"+str(d[i])+\
                  "*(x-"+ str(x[i])+ ")**3")
        # s.append(str(a[i]) \
        #          + " + np.multiply(" + str(b[i]) + ", np.add(x, -" + str(x[i]) + "))"
        #          + " + np.multiply(" + str(c[i]) + ", np.power(np.add(x, -" + str(x[i]) + "), 2))" \
        #          + " + np.multiply(" + str(d[i]) + ", np.power(np.add(x, -" + str(x[i]) + "), 3))")
        #print(s[i])
        #plt.plot(x, eval(s[i]))
    inter = list()
    for i in range(0,len(x)-1):
        inter.append((x[i],x[i+1]))
    #plt.plot(s,inter)
    #print("a: ", a)
    #print("b: ", b)
    #print("c: ", c)
    #print("d: ", d)
    print("s: ", s)
    return a, b, c, d, s

canvas = Graficador(3000, 3000, 30)
a0, b0, c0, d0, s0 = spline([1,2,5,6,7,8,10,13,17] ,[3.0,3.7,3.9,4.2,5.7,6.6,7.1,6.7,4.5],8,1.0,-0.67)
a1, b1, c1, d1, s1 = spline([17,20,23,24,25,27,27.7],[4.5,7.0,6.1,5.6,5.8,5.2,4.1],6,3.0,-4.0)
a2, b2, c2, d2, s2 = spline([27.7,28,29,30],[4.1,4.3,4.1,3.0],3,0.33,-1.5)

s = s0 + s1 + s2
canvas.graficar(s, 0, 31)

plt.show()
Exemplo n.º 19
0
class FruchtermanReingold:
    def __init__(self, grafo, iters, refresh, c1, c2, verbose):
        '''
        Parámetros:
        * iters: cantidad de iteraciones a realizar.
        * refresh: numero de iteraciones entre actualizaciones de 
        pantalla, si vale 1, se grafica solo al final.
        * c1: constante usada para calcular la repulsión entre nodos.
        * c2: constante usada para calcular la atracción de aristas.
        * verbose: si vale true, el programa imprimirá información
        adicional a medida que corre.
        '''

        # Guardo grafo
        self.grafo = grafo

        # Guardo opciones
        self.iters = iters
        self.verbose = verbose
        self.refresh = refresh
        self.c1 = c1
        self.c2 = c2

        # Inicializo estado
        self.posiciones = {}

    def randomize_node_positions(self):
        '''Randomiza las posiciones de los nodos'''
        nodos = self.grafo[0]
        for node in nodos:
            x = self.W * random()
            y = self.H * random()
            self.posiciones[node] = Vector(x, y)

    def repulsion(self, d):
        '''Calcula la fuerza de repulsión dada la distancia'''
        return self.c1 * self.k**2 / d

    def atraccion(self, d):
        '''Calcula la fuerza de atracción dada la distancia'''
        return self.c2 * d**2 / self.k

    def step(self):
        '''
        Efectúa un paso de la simulación, actualizando posiciones 
        de los nodos
        '''
        nodes = self.grafo[0]
        edges = self.grafo[1]
        despl = {}

        # 1: Calcular repulsiones de nodos (actualiza fuerzas)
        for u in nodes:
            despl[u] = Vector(0, 0)
            for v in nodes:
                if u == v:
                    continue
                delta = self.posiciones[u] - self.posiciones[v]
                dist = delta.longitud()
                if dist != 0:
                    d = self.repulsion(dist) / dist
                    despl[u] = (despl[u] + delta * d)

        # 2: Calcular atracciones de aristas (actualiza fuerzas)
        for u, v in edges:
            delta = self.posiciones[u] - self.posiciones[v]
            dist = delta.longitud()
            if delta != 0:
                d = self.atraccion(dist) / dist
                dd = delta * d
                despl[u] = (despl[u] - dd)
                despl[v] = (despl[v] + dd)

        # 4: En base a fuerzas, temperatura y bordes, actualizar
        # las posiciones de los nodos.
        cnt = 0
        for node in nodes:
            delta = despl[node]
            dist = delta.longitud()
            if dist != 0:
                cnt = cnt + 1
                d = min(dist, self.t) / dist
                npos = self.posiciones[node] + delta * d
                self.posiciones[node].x = min(self.W, max(0, npos.x))
                self.posiciones[node].y = min(self.H, max(0, npos.y))
        self.t -= self.dt

    def create_view(self):
        '''Inicializa el graficador'''
        self.graficador = Graficador(800, 600)

    def dibujar(self):
        '''Dibuja el grafo mediante el graficador'''
        self.graficador.dibujar_grafo(self.grafo, self.posiciones)

    def run(self):
        '''
        Ejecuta los pasos del algoritmo, de acuerdo a los argumentos
        con los cuales se inicializó la clase.
        '''
        # Inicializamos constantes
        nodes = self.grafo[0]

        self.W = 1
        self.H = 1
        self.area = self.W * self.H
        self.k = math.sqrt(self.area / len(nodes))

        self.t = self.W / 10
        self.dt = self.t / (self.iters + 1)

        # Inicializamos la 'pantalla'
        self.create_view()

        # Inicializamos las posiciones
        self.randomize_node_positions()

        # Si es necesario, lo mostramos por pantalla
        if (self.refresh > 0):
            self.dibujar()

        # Bucle principal
        for i in range(0, self.iters):
            # Realizar un paso de la simulacion
            self.step()
            if i % 20 == 0 and self.verbose:
                print('Temperatura: ' + str(self.t))

            # Si es necesario, lo mostramos por pantalla
            if (self.refresh > 0 and i % self.refresh == 0):
                self.dibujar()

        # Ultimo dibujado al final
        self.dibujar()

        # Solo al final, permitimos que el usuario cierre la ventana
        self.graficador.permitir_cerrado()
Exemplo n.º 20
0
 def create_view(self):
     '''Inicializa el graficador'''
     self.graficador = Graficador(800, 600)