def Plot(self, *args, to_print=False, progressbar=True, **kwargs): if progressbar: from pacmanprogressbar import Pacman # On prépare la barre de progression : p = Pacman(start=0, end=len(self._frame)+1) for i, a in enumerate(self._frame): #self._plot(a, *args, **kwargs) # On efface le graphique précédent : self._ax.cla() #self._ax.set(**self._ax_opt) if self._grid: self._ax.grid() name = self.update(a, self._ax, *args, **kwargs) self._ax.update(self._ax_opt) if to_print: self._ax.figure.canvas.draw() if self._save: self._save_fig(self.Fig, name, self._tmp_name, "png") if progressbar: # Mise à jour de la barre de progression : p.progress(i)
def PSMovieSaved(lst, filename, set_lim=True, minmax=None, format="%.4g"): """Affiche l'évolution de l'espace pour une suite de fichier gadget sous forme de Film. lst : liste de fichier à afficher, set_lim=True : imposer les dimensions du graphe, minmax=None : Limites des axes à imposer, format="%.4g" : format d'affichage de l'unité de temps. """ # Quelques import spécifique à la fonction : from matplotlib import pyplot as plt from matplotlib import animation as an from pacmanprogressbar import Pacman # On prépare la barre de progression : p = Pacman(start=0, end=len(lst)) # On prépare la fenêtre sur laquelle on va tracer : fig = plt.figure() ax = fig.add_subplot(111, title = r"$\rho(r)$ of King", xlabel = r"$r$", ylabel = r"$\rho(r)$") # On prépare ce qui va nous permettre d'enregistrer la vidéo : FFMpegWriter = an.writers['imagemagick'] metadata = dict(title='Phase Space Evolution for Henon collapse at Viriel -0.3', artist='Guillaume Plum') writer = FFMpegWriter(fps=15, metadata=metadata) #moviewriter = an.MencoderWriter(fps=25, metadata={'title':'Phase Space Evolution for Henon with Viriel of -0.3', 'artist':'Guillaume Plum', 'subject':'Henon Collapse'}) # On commence l'enregistrement : with writer.saving(fig, filename, 100): for i, a in enumerate(lst): # On efface le graphique précédent : ax.cla() # On fixe les limites du graphiques si demandé : if set_lim: ax.set_ylim(-3000, 3000) ax.set_xlim(0, 70) # On charge l'espace des phases : map = ps.Map(a) # Titre du graphique : ax.set_title( "Gadget time unit : " + format%map.head["Time"]) # Calcul des données : X, Y, Z = map._calc() # Tracé : ax.pcolormesh(X, Y, Z) #ax.figure.canvas.draw() # Capture du graphique par la classe créant la vidéo : writer.grab_frame() # Mise à jour de la barre de progression : p.progress(i)
def PSMovie(lst, ax=None, set_lim=True, minmax=None, format="%.4g", topng=False): """Affiche l'évolution de l'espace pour une suite de fichier gadget sous forme de Film. lst : liste de fichier à afficher, set_lim=True : imposer les dimensions du graphe, minmax=None : Limites des axes à imposer, format="%.4g" : format d'affichage de l'unité de temps. """ # Quelques import spécifique à la fonction : from matplotlib import pyplot as plt from pacmanprogressbar import Pacman # On prépare la barre de progression : p = Pacman(start=0, end=len(lst)) # On prépare la fenêtre sur laquelle on va tracer : if ax is None: fig = plt.figure() ax = fig.add_subplot(111) # On commence l'animation : for i, a in enumerate(lst): # On efface le graphique précédent : ax.cla() # On fixe les limites du graphiques si demandé : if set_lim: ax.set_ylim(-3000, 3000) ax.set_xlim(0, 70) # On charge l'espace des phases : map = ps.Map(a) # Titre du graphique : ax.set_title( "Gadget time unit : " + format%map.head["Time"]) ax.set_xlabel(r"$|\vec{r}|$") ax.set_ylabel(r"$\vec{v}.\vec{r} / |\vec{r}|$") # Calcul des données : X, Y, Z = map._calc() # Tracé : ax.pcolormesh(X, Y, Z) ax.figure.canvas.draw() if topng: _save(ax.figure, a, "/tmp/", "png") # Mise à jour de la barre de progression : p.progress(i)
#!/usr/bin/env python2.7 import urllib2 from pacmanprogressbar import Pacman if __name__ == "__main__": url = "http://www.jesusroldan.com/Alberto%20Laiseca%20-%20Cuentos%20de%20Terror.tar.gz" file_name = url.split('/')[-1] u = urllib2.urlopen(url) f = open(file_name, 'wb') meta = u.info() file_size = int(meta.getheaders("Content-Length")[0]) p = Pacman(end=file_size, text="Downloading") file_size_dl = 0 block_sz = 8192 while True: buffer = u.read(block_sz) if not buffer: break file_size_dl += len(buffer) f.write(buffer) p.progress(value=file_size_dl) f.close() print("Finished")
#!/usr/bin/env python import time from pacmanprogressbar import Pacman if __name__ == "__main__": p = Pacman(end=100, text="Progress") for x in range(p.len): p.update() time.sleep(.1) print("Finished")