Notebook Articles

Take notes and save or share what you have learned

Articles: 645

Extraire le code RGB à partir d'une colormap de Matplotlib

Présentation du problème: On dispose par exemple d'un graphique réalisé avec matplotlib (dans notre exemple on a utilisé le code [suivant](http://scikit-learn.org/stable/auto_examples/svm/plot_separating_hyperplane.html) qui est un nuage de points avec deux classes de couleurs différentes) et on souhaite utiliser les mêmes couleurs pour construire un autre graphique comme un histogramme. Avec python et matplotlib il est relativement simple de récupérer le code RGB pour une colormap donnée ([voir

Ajuster les bords d'une figure Matplotlib

### Cas général [image:185 size:100 caption:Image No Tight Layout] [image:186 size:100 caption:Image With Tight Layout] #!/usr/bin/env python from numpy import * import numpy as np import matplotlib.pyplot as plt x = np.arange(10) h = [0,1,2,3,5,6,4,2,1,0] fig = plt.figure() plt.title('Title') plt.xlim(0, 10) plt.ylim(0, 8) plt.xlabel('x label') plt.ylabel('y label') bar1 = plt.bar(x,h,width=1.0,bottom=0,color='Green',alpha=0.65,label='Legend') plt.

Afficher une matrice avec des virgules comme séparateur entre les éléments (Numpy)

Quand on veut imprimer à l'écran une matrice avec 'print' on obtient une représentation de celle-ci relativement simple de type [[ 0 1 2 ]] avec les éléments séparés par des espaces. Si on veut afficher une matrice avec des virgules comme séparateur entre les éléments, il faut passer par [repr](https://docs.python.org/2/library/repr.html) ou [pprint](https://docs.python.org/2/library/pprint.html) comme dans cet exemple: import numpy as np import pprint m = np.arange(15).reshape((5, 3))

Estimation par noyau 2d (scipy + matplotlib)

Exemple d'estimation par noyau 2d utilisant scipy et matplotlib: [image:441 size:100 caption:Estimation par noyau 2d (scipy + matplotlib)] from scipy import stats, mgrid, c_, reshape, random, rot90 import numpy as np import matplotlib.pyplot as plt import matplotlib.cm as cm values = np.array([[ 0.04810362, 0.02606397], [ 0.21804558, 0.19724609], [ 0.02868612, 0.00172462], [ 0.40554094, 0.35376897], [ 0.43878371, 0.19474262], [ 0.37266064, 0.37235034],

Selection aléatoire d'un échantillon à partir d'un tableau de données sous Numpy

Dans cet article on va voir comment sélectionner aléatoirement un échantillon à partir de données stockées dans une matrice. Pour cela, supposons que les données sont dans une matrice m de dimension (5,2). Pour sélectionner aléatoirement les données il existe plusieurs possibilités ([voir](http://stackoverflow.com/questions/13335407/create-numpy-array-with-random-elements-from-list)), on va ici utiliser la méthode [random.shuffle](http://docs.scipy.org/doc/numpy/reference/generated/numpy.rand

Utiliser Matplotlib avec Django

### Figure Matplotlib avec Django **urls.py** url(r'^_Matplotlib/Bar/$', 'visualization.views.GraphsViewBar'), **views.py** [image:430 size:100 caption:Matplotlib avec Django (Exemple simple)] # -*- coding: utf-8 -*- from django.shortcuts import render_to_response from django.template import RequestContext from django.http import HttpResponseRedirect from wiki.models import Article, ArticleRevision, URLPath from django.http import HttpResponse from matplotlib.backends.back

Obtenir l'adresse IP visiteur sous django

Pour obtenir l'adresse IP d'un visiteur sous django, la meilleure option est d'utiliser la méthode présentée dans le thread de stackoverflow suivant: [How do I get user IP address in django?](http://stackoverflow.com/questions/4581789/how-do-i-get-user-ip-address-in-django). def get_client_ip(request): x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ip = x_forwarded_for.split(',')[0] else: ip = request.META.get

Remplacer / Supprimer un mot dans une phrase en python

Pour remplacer / supprimer un mot dans une phrase en python il existe la méthode [replace](https://docs.python.org/2/library/string.html). Exemple: >>> s = 'Bonjour, comment ca va ?' >>> s = s.replace('Bonjour','Salut') >>> s 'Salut, comment ca va ?' >>> s = s.replace('Salut','') >>> s ', comment ca va ?' >>> s = 'Salut, comment ca va, Salut' >>> s = s.replace('Salut','') >>> s ', comment ca va, ' >>> ### Recherches associées Liens | Site ----

Comment barrer du texte en HTML

Pour barrer du texte en HTML il existe la balise: [del](http://www.w3schools.com/tags/tag_del.asp). Exemple: [image:436 size:100 caption:Comment barrer du texte en HTML] <!DOCTYPE html> <html> <body> Mon sport prefere est le <del>football</del>, tennis ! </body> </html> ### Recherches associées Liens | Site ------------- | ------------- [Balise del](http://www.w3schools.com/tags/tag_del.asp) | w3schools [del](https://developer.mozilla.org/fr/docs/Web/HTML/Element/del) | devel

Obtenir une liste des sous-répertoires en python

Avec python il est possible d'obtenir une liste des sous-répertoires composant un répertoire donné à l'aide de la méthode [walk](https://docs.python.org/2/library/os.html). A titre d'exemple considérons la configuration suivante: FolderRoot: -> F1: -> F11 -> F12 -> F2 -> F3 Si on se place au niveau du répertoire "FolderRoot" et qu'on lance python puis la commande [x[0] for x in os.walk('FolderRoot')] on obtient bien la liste de tous les ré

Formater un float dans un template sous Django

Avec Django il est possible d'envoyer des nombres de type float dans le template en passant par le fichier **views.py**. Cepdendant quand on affiche ces derniers dans le template le format n'est pas forcement celui souhaité. Par exemple, par défaut, on obtient des nombres avec une virgule et non par un point. Si on veut des nombres de type float avec un point pour séparer les chiffres et pas une virgule, il faut formater le nombre comme dabs cet exemple: Dans le fichier **views.py:** Nomb

Formulaire sans "model" associé avec Django

Avec Django, il est évidemment possible de mettre en place un formulaire sans être obligé de développer un "model" associé à celui-ci. En effet, il arrive souvent que l'on veuille mettre en place un formulaire sans vouloir stocker dans la base de données les informations envoyées par celui-ci. Ce cas de figure est bien expliqué dans la documentation de Django ([voir](https://docs.djangoproject.com/en/dev/topics/forms/)). Exemple simple de mise en pratique: **models.py**: [image:432 size:100 c

Vérifier si un fichier existe en Fortran

Pour vérifier si un fichier existe en Fortran il existe la fonction fortran [INQUIRE](http://docs.oracle.com/cd/E19957-01/805-4939/6j4m0vna3/index.html). Exemple d'utilisation avec un programme minimaliste en fortran 90 (test.f90): program test logical :: file_exists INQUIRE(FILE="inputs.txt", EXIST=file_exists) write(6,*) file_exists end Après compilation et exécution du code gfortran test.f90 -o test test on obtient F si le fichier inputs.txt n'exis

Ajouter du texte sur une figure Matplotlib

Pour ajouter du texte sur une figure Matplotlib il existe la méthode [matplotlib.pyplot.text](http://matplotlib.org/api/pyplot_api.html?highlight=figtext) qui accepte comme arguments de base (x,y,s) avec x l'abscisse, y l'ordonnée et s le texte (de type string). Exemple simple d'application (texte 'Hello World !' aux coordonnées (1,35)): [image:421 size:100 caption:Ajouter du texte sur une figure Matplotlib (Exemple 01)] #!/usr/bin/env python import numpy as np import matplotlib.pyplot a

Axe des ordonnées en échelle logarithmique avec Matplotlib

Pour transformer un axe en échelle logarithmique sous Matplotlib, il existe les méthodes xscale et yscale dans la classe [pyplot](http://matplotlib.org/api/pyplot_api.html). Dans cet exemple l'axe des ordonnées est en échelle logarithmique grâce à la commande plt.yscale('log') (Note pour reproduire l'exemple ci-dessous vous pouvez télécharger le fichier de données suivant: [attachment:420]): [image:419 size:100 caption:Échelle logarithmique avec Matplotlib] #!/usr/bin/env python impo

Transformer du texte en song avec python ?

Pour transformer du texte en fichier audio (comme wav) avec python il est possible de passer par espeak (voir les références suivantes [espeak](http://espeak.sourceforge.net/) et le [thread](http://stackoverflow.com/questions/9900137/recording-synthesized-text-to-speech-to-a-file-in-python) de stackoverflow sur le sujet). Pour cela, il est nécessaire dans un premier temps de télécharger espeak en allant sur ce [lien](http://espeak.sourceforge.net/). Une fois espeak téléchargé il suffit alors de

Série temporelle avec matplotlib

Pour tracer une série temporelle avec matplotlib, le plus simple est de passer par [pandas](http://pandas.pydata.org/pandas-docs/version/0.13.1/visualization.html). Exemple simple: [image:415 size:100 caption:Série temporelle avec matplotlib et Pandas] import matplotlib.pyplot as plt import numpy as np import pandas as pd ts = pd.Series(np.random.randn(1000), \ index=pd.date_range('1/1/2000', \ periods=1000)) ts = ts.cumsum() ts.plot() plt.savefig('SerieTemporelle.pn

Résoudre un système d'équations linéaires avec Numpy

Pour résoudre un système d'équations linéaires sous python il existe dans numpy la classe linalg avec la méthode solve ([voir linalg.solve](http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.solve.html#numpy.linalg.solve)). Voici un exemple de système d'équations linéaires provenant d'un cours ([lien](http://lmah.univ-lehavre.fr/~ambrosio/CoursMN/Chapitre3.pdf)): \begin{equation} \left( \begin{array}{cccc} 2 & 3 & 3 & 1 \\\\ -4 & -6 & 3 & 2 \\\\ -1 & 1 & 1 & 1 \\\\ -2 & -1 & 1 & 1

Formater un nombre en string avec python

Avec python il est possible de formater un nombre en string avec python. Pour cela veuillez consulter la documentation complète sur le sujet (voir [String Formatting Operations](https://docs.python.org/2/library/stdtypes.html)). Quelques exemples: >>> i = 99 >>> type(i) <type 'int'> >>> s = "%05d" % i >>> s '00099' >>> type(s) <type 'str'> Autre exemple >>> hour = 14 >>> min = 35 >>> second = 10 >>> s = "%02d:%02d:%02d" % (hour,

Réduire la taille d'une image avec PIL

Avec [PIL](http://www.pythonware.com/products/pil/) il est possible de réduire facilement la taille d'une image. Dans l'exemple ci-dessous la taille de l'image (input.png) est de 3.6 MB en utilisant la méthode 'resize' de PIL et en divisant par 2 les dimensions correspondantes à la largeur et à la hauteur de l'image (int(foo_size[0]/2.0),int(foo_size[1]/2.0) puis en sauvegardant l'image redimensionne avec la méthode 'save' avec l'argument quality=95, on obtient ici en sortie une image de taille

Fusionner plusieurs images avec PIL

Avec le module python: [PIL](http://www.pythonware.com/products/pil/) il est relativement simple de fusionner plusieurs images. Voici un premier exemple qui à partir d'une image input.png (pour télécharger l'image source allez sur cette [page](http://www.science-emergence.com/Matplotlib/MatplotlibGallery/MergeImagesPIL/_plugin/images/)) recopie celle-ci plusieurs fois: [image:407 size:100 caption:output.png: Fusionner plusieurs images avec PIL (matplotlib figures)] import Image #opens

Ajuster les bords d'une image avec PIL ?

Avec matplotlib on a vu comment ajuster automatiquement les bords d'une figure dans un précèdent [article](http://www.science-emergence.com/Matplotlib/MatplotlibTightLayout/). Cependant avec matplotlib les possibilités pour ajuster une figure sont un peu limitées et le résultat parfois insatisfaisant. Pour remédier à cela il est possible d'utiliser le module python: [PIL](http://www.pythonware.com/products/pil/) qui permet de travailler facilement avec des images. Voici un exemple simple de scri

Comment arrondir un nombre décimal en python ?

Exemples de comment arrondir un nombre réel en python [TOC] ### Arrondir un nombre réel Pour arrondir un nombre réel il existe la fonction python [round](https://docs.python.org/2/library/functions.html) : >>> round(3.1415) 3 ### Arrondir un nombre réel en gardant 1 décimale >>> x = 1.4567 >>> round(x,1) 1.5 ### Arrondir un nombre réel en gardant 2 décimales >>> x = 1.4567 >>> round(x,2) 1.46 ### Convertir un nombre réel en entier

Nombre de jours dans un mois en python ?

Pour obtenir le nombre de jours dans un mois donnée en python il faut penser au module [calendar](https://docs.python.org/2/library/calendar.html) qui comprend la fonction [monthrange](https://docs.python.org/2/library/calendar.html#calendar.monthrange). Cette fonction prend comme arguments l'année et le mois, et indique si le mois commence par lundi, mardi, etc et le nombre de jours dans le mois. Exemple: >>> import calendar >>> calendar.monthrange(2014,10) (2, 31) >>> calendar

Fonction avec un non voulu 'None' en sortie ?

Problème parfois rencontré quand on débute avec le langage python avec un non voulu 'None' en sortie d'une fonction comme dans cet exemple: >>> def MaFonction(): ... print 'Hello World !' ... >>> print MaFonction() Hello World ! None Le problème est que techniquement une fonction Python ne peut pas ne rien retourner. Il faut donc corriger l'exemple precedent en ajoutant un return comme ici: >>> def MaFonction(): ... return 'Hello World !' ...

About


An article helps to save or share information. After creating an article it is possible to add multiple authors and manage the permissions

Create an article

Search


Use the following form to retrieve an article: