Créer une image sans les axes et les étiquettes avec matplotlib

Dans cet article on va voir comment créer une image avec matplotlib sans les contours ou les labels. Partons de l'exemple suivant ([source](http://matplotlib.org/examples/pylab_examples/image_demo.html)) qui donne l'image ci-contre: [image:483 size:50 caption:Créer une image sans les axes et les étiquettes avec matplotlib (image de départ)] #!/usr/bin/env python import numpy as np import matplotlib.cm as cm import matplotlib.mlab as mlab import matplotlib.pyplot as plt

Ajouter un bruit "salt and pepper" sur une image avec python

Exemple sur comment ajouter un bruit "salt and pepper" sur une image avec python: [images:574;575 dim:1*2 size:75 caption:Ajouter un bruit "salt and pepper" sur une image avec python] from scipy import misc import numpy as np import matplotlib.pyplot as plt M = misc.imread('lena.png') salt_value = 40 noise = np.random.randint(salt_value+1, size=(512, 512)) #---------- Pepper ----------# indexe = np.where(noise == 0) A = indexe[0] B = indexe[1] M[A,B,:] = 0 #---------- Sa

Comment placer l'origine au centre de la figure avec matplotlib ?

Avec matplotlib il est possible de positionner les axes des abscisses et ordonnées comme on le souhaite. Les exemples ci-dessous illustrent comment mettre l'origine au centre de la figure en passant par : [image:572 size:50 caption:Mettre l'origine au centre de la figure avec matplotlib: Simple exemple] import numpy as np import matplotlib.pyplot as plt fig = plt.figure() x = np.linspace(-np.pi, np.pi, 100) y = 2*np.sin(x) ax = plt.gca() ax.plot(x, y) ax.grid(T

Déterminer le type d'une variable sous python

Avec python vous pouvez déterminer le type de variable avec la fonction [type()](https://docs.python.org/2/library/functions.html#type), illustration: >>> x = 3 >>> type(x) <type 'int'> >>> x = 3.2 >>> type(x) <type 'float'> >>> x = 'Hello World !' >>> type(x) <type 'str'> Vous pouvez alors créer des conditions utilisant le type de la variable: >>> x = 'Hello World !' >>> type(x) is str True >>> if type(x) is str: ... print "do some

Comment ajouter un titre sur l'axe des ordonnées et des abscisses avec Basemap ?

Pour ajouter un titre sur l'axe des ordonnées et des abscisses (par exemple 'Longitude' et Latitude') on peut utiliser les fonctions xlabel() et ylabel(): plt.xlabel('Longitude', labelpad=40) plt.ylabel('Latitude', labelpad=40) on peut aussi ajouter l'option labelpad pour ajuster la distance entre le titre et l'axe des ordonnées ou des abscisses. [image:plot-world-map-using-matplotlib-02 size:50 caption:Comment ajouter un titre sur l'axe des ordonnées et des abscisses en python avec

Changer la couleur d'une cellule d'un tableau au passage de la souris en html

Exemple de comment changer la couleur d'une cellule d'un tableau au passage de la souris en utilisant [onmouseover](http://www.w3schools.com/jsref/event_onmouseover.asp), illustration [image:569 size:100 caption:Changer la couleur d'une cellule d'un tableau au passage de la souris en html (Exemple 1)] <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Test Table Cell Over</title> </head> <body> <table style="width:100%;"> <tr> <td onMouseover="this.bgColor='#EEEE

Changer d'image au passage de la souris avec HTML et Javascript

On peut facilement à l'aide du javascript modifier une image au passage de la souris en utilisant [onmouseover](http://www.w3schools.com/jsref/event_onmouseover.asp), illustration: [image:567 size:100 caption:Modifier une image au passage de la souris avec HTML et Javascript] <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Test MouseOver</title> </head> <body> <img src="lena.png" onmouseover="this.src='lena_edited.png';" onmouseout="this.src='lena.png';"> </img>

Comment obtenir une liste des fichiers d'un répertoire (dossier) avec python ?

Exemples de comment obtenir une liste des fichiers d'un dossier en utilisant python: [TOC] ### Avec la fonction listdir() Avec python il est possible d'obtenir une liste de l'ensemble des fichiers situés dans un répertoire donné en utilsant [os.listdir()](https://docs.python.org/2/library/os.html#os.listdir). La fonction os.listdir() retourne une liste des fichiers et des répertoires situés dans le répertoire cible. Pour avoir uniquement les fichiers il suffit d'appliquer un simple filt

"Print" une liste ou un dictionnaire sur plusieurs lignes sous python

Avec python vous pouvez utiliser le module [pprint — Data pretty printer](https://docs.python.org/2/library/pprint.html) pour afficher une liste ou un dictionnaire sur plusieurs lignes ce qui rend la lecture plus facile, illustration: import pprint # Example with a list: list = ['Bob', 'Robert', 'Lindsay', 'Kate'] print list pprint.pprint(list, width=1) # Example with a dictionary: dic = {'Bob': 25, 'Robert': 46, 'Lindsay': 54, 'Kate': 13} print dic pprint.pprint(dic, width=

Spécifier le repértoire où sauvegarder les fichiers téléchargés avec ftp sous python

Avec python il est possible d'écrire des scipts permettant de récupérer des fichiers sur un serveur distant en passant par ftp grâce au module [ftplib](https://docs.python.org/2/library/ftplib.html), exemple simple: from ftplib import FTP ftp = FTP('address') ftp.login('anonymous','') directory = 'toto/file/' # directory destination on the server ftp.cwd(directory) # go to the directory yyy = [] ftp.retrlines('NLST', yyy.append) # Get list of all files in direct

Créer une liste vide avec python d'une taille donnée

Créer une liste vide: >>> list = [] >>> list 0 Exemple de comment avec python créer une liste d'une certaine taille >>> list = [1] * 5 >>> list [1, 1, 1, 1, 1] >>> len(list) 5 >>> list = ['test'] * 3 >>> list ['test', 'test', 'test'] >>> len(list) 3 Modifier un élément de la liste: >>> list[1] = 'Coucou' >>> list ['test', 'Coucou', 'test'] >>> list[2] = 47 >>> list ['test', 'Coucou', 47] Ajouter un élément dans

Tracer une loi normale (gaussienne) avec le module matplotlib de python

Exemple de comment calculer et tracer une loi normale (ou loi gaussienne) avec python et matplotlib en utilisant le module stats de scipy: [image:normal-distribution-1 size:50 caption:Calculer et tracer une loi normale (gaussienne) avec python et matplotlib] from scipy.integrate import quad import matplotlib.pyplot as plt import scipy.stats import numpy as np x_min = 0.0 x_max = 16.0 mean = 8.0 std = 2.0 x = np.linspace(x_min, x_max, 100) y = scipy.stats.no

Convertir un code couleur hexadécimal en RGB et inversement avec python

Exemple de comment avec python passer du code couleur hexadécimal en RGB et vice versa ([source](http://stackoverflow.com/questions/214359/converting-hex-color-to-rgb-and-vice-versa)): def hex_to_rgb(value): value = value.lstrip('#') lv = len(value) return tuple(int(value[i:i + lv // 3], 16) for i in range(0, lv, lv // 3)) def rgb_to_hex(rgb): return '#%02x%02x%02x' % rgb Test: print hex_to_rgb("#f00") , 'Rouge' print hex_to_rgb("#ff0") , 'Jaune' print hex_to_rgb("#0f

Déterminer le nombre de jours entre deux dates avec python

Avec python on peut facilement déterminer le nombre de jours entre deux dates au format YYYY/MM/DD (année, mois, jour) en utilisant [datetime](https://docs.python.org/2/library/datetime.html), illustration: from datetime import date d0 = date(2008, 1, 1) d1 = date(2008, 6, 15) delta = d1 - d0 print delta.days donne ici 166 Nombre de jours entre le 6 juin 2008 et le 1 janvier 2008. ### Recherches associées Liens | Site ------------- | ------------- [How do I calc

MODIS: Convert Julian Date to MM/DD/YYYY Date format using python

Code import calendar def JulianDate_to_MMDDYYY(y,jd): month = 1 day = 0 while jd - calendar.monthrange(y,month)[1] > 0 and month <= 12: jd = jd - calendar.monthrange(y,month)[1] month = month + 1 print month,jd,y JulianDate_to_MMDDYYY(2008,167) Result: 6 15 2008 Check Code: from datetime import date d0 = date(2008, 1, 1) d1 = date(2008, 6, 15) delta = d1 - d0 print delta.days+1 Result: 167 see [Julian Day Calendar](http://landweb.nascom.nasa.gov/browse/c

Tracer les bandes de confiance avec Matplotlib

Exemple de comment tracer les bandes de confiance dans le cas de la regression lineaire avec Matplotlib: [image:565 size:100 caption:Tracer les bandes de confiance dans le cas de la regression lineaire avec Matplotlib] import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 60, 100) y = np.sin(x/20*np.pi) error = np.random.normal(0.1, 0.1, size=y.shape) y_meas = y + np.random.normal(0, 0.1, size=y.shape) plt.plot(x, y, 'r--') plt.fill_between(x, y-0.4, y+0.4,color=

Afficher un document pdf dans une page HTML

Pour afficher un document pdf dans une page HTML il existe plusieurs solutions. La solution la plus recommandée est de passer par javascript (voir [ici](http://www.jqueryrain.com/2012/09/best-jquery-pdf-viewer-plugin-examples/) une liste de plugin permettant d'afficher un document pdf). Le plus connu est certainement [pdf.js](https://github.com/mozilla/pdf.js) dont voici comment démarrer rapidement avec celui-ci: [image:564 size:100 caption:Afficher un document pdf dans une page HTML] 1:

Sélectionner une partie d'une image avec PIL de python

Simple démonstration sur comment créer une image avec python à partir d'une partie d'une autre image en utilisant le module PIL. [image:562 size:100 caption:Sélectionner une partie d'une image avec PIL de python] [image:563 size:100 caption:Sélectionner une partie d'une image avec PIL de python] import Image # Download Image: im = Image.open("lena.png") # Check Image Size im_size = im.size print im_size # Define box inside image left = 182 top = 200 wi

Déterminer la taille d'une image avec python

Pour déterminer la taille d'une image avec python il existe plusieurs solutions. Le plus simple est d'utiliser scipy comme ceci: >>> from scipy import misc >>> M = misc.imread('lena.png') >>> M.shape (512, 512, 3) Dans l'exemple ci-dessus l'image est lena.png dont les dimensions sont 512*512 qu'on peut obtenir: >>> DIM = M.shape >>> DIM[0] 512 >>> DIM[1] 512 L'autre possibilité est de passer par PIL: >>> from PIL import Image >>> img = Image.open(

Modifier l'épaisseur des axes sous matplotlib

Avec matplotlib il est possible de modifier l'épaisseur des axes [image:561 size:100 caption:Modifier l'épaisseur des axes sous matplotlib] import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.spines['left'].set_linewidth(5.0) ax.spines['bottom'].set_linewidth(5.0) plt.plot([1,5],[1,5]) plt.savefig("AxisWidth.png") plt.show() Dans cet exemple l'axe du bas (bottom) et de gauche (left) ont été modifiés. Pour changer l'axe de droite et du haut il faut utliser: right et left.

Ne pas afficher un ou des axe(s) d'une figure sous matplotlib

Avec matplotlib il est possible de choisir de ne pas afficher certains axes, illustration: [image:560 size:100 caption:Supprimer un axe d'une figure sous matplotlib] import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.spines['right'].set_visible(False) ax.spines['top'].set_visible(False) plt.plot([1,5],[1,5]) plt.savefig("RemoveAxis.png") plt.show() Ici les axes de droite (right) et du haut 'top' ne sont pas afficher (Note: pour ne pas afficher les axes du bas et de gauc

Coordonnées parallèles avec matplotlib

Exemple de comment tracer avec matplotlib un graphique de coordonnées parallèles: [image:559 size:100 caption:Coordonnées parallèles avec matplotlib] #!/usr/bin/python import numpy as np import matplotlib.pyplot as plt import matplotlib.ticker as ticker #vectors to plot: 4D for this example y1=[1,2.3,8.0,2.5] y2=[7.5,6.2,2.2,3.9] x=[1,2,3,8] # spines fig,(ax,ax2,ax3) = plt.subplots(1, 3, sharey=False) # plot the same on all the subplots ax.plot(x,y1,'r-', x,y2,'b-') ax2.plot(x

Générer des nombres aleatoires depuis une distribution univariée simple avec python

Dans cet article, nous allons voir comment obtenir des nombres aléatoires associes à une densité de probabilité quelconque. Pour cela, supposons que nous avons un ensemble de données allant de 0 à 10 réparties suivant une fonction $f: 2*cos(x) + 3$. (Obtenir le code complet de l'exemple ci-dessous: [attachment:382]) from scipy.integrate import quad from random import randrange from scipy import misc import numpy as np import matplotlib.pyplot as plt Etape 1: Définir la fonction x

Introduction aux tests de normalité statistiques avec Python

### Le test de Shapiro-Wilk Le test de Shapiro–Wilk, publié en 1965 par Samuel Shapiro et Martin Wilk, teste l'hypothèse nulle selon laquelle un échantillon $x_1, ..., x_n$ est issu d'une population normalement distribuée (voir [article wikipedia](http://fr.wikipedia.org/wiki/Test_de_Shapiro-Wilk)). Ce test est directement disponible dans le module stats de scipy (voir [Test de Shapiro-Wilk avec scipy](http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.shapiro.html)) : from sc

Calculer et tracer la divergence de Kullback-Leibler avec python et matplotlib

Un exemple sur comment calculer et tracer la divergence de Kullback-Leibler avec python et matplotlib [image:381 size:100 caption:Divergence de Kullback-Leibler (python)] #!/usr/bin/env python # -*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np import matplotlib.mlab as mlab from scipy.stats import norm from scipy.integrate import quad def p(x): return norm.pdf(x, 0, 2) def q(x): return norm.pdf(x, 2, 2) def KL(x): return p(x) *