Comment créer un nuage de points de plusieurs couleurs avec matplotlib ?

Exemples de comment créer un nuage de points de plusieurs couleurs avec matplotlib: [TOC] ### Combiner deux nuages de points avec des couleurs différentes Pour modifier la couleur il y a l'option c dans la fonction [scatter](http://matplotlib.org/api/pyplot_api.html#module-matplotlib.pyplot), exemple simple combinant deux nuages de points avec des couleurs différentes: [image:ScatterPlot-05 size:50 caption:Comment tracer une nuage de points avec matplotlib ?] import matplotlib.py

Comment convertir une chaîne de caractères en liste avec python ?

Exemples de comment convertir une chaîne de caractères (mots, phrases, etc.) en liste avec python: [TOC] ### Convertir une chaîne de caractères représentant une liste en liste Pour convertir une chaîne de caractères représentant une liste en liste, il y a la fonction [ast.literal_eval](https://docs.python.org/3/library/ast.html), exemple: >>> s = '[1,2,3,4]' >>> type(s) <class 'str'> >>> import ast >>> l = ast.literal_eval(s) >>> type(l) <class 'list'> >>> l[1] 2

Comment changer la taille du titre d'une figure matplotlib ?

Avec matplotlib pour changer la taille du titre il existe l'argument "fontsize= ": title('mytitle', fontsize=8) [image:487 size:50 caption:Comment changer la taille du titre d'une figure matplotlib ?] #!/usr/bin/env python import numpy as np import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) x = np.arange(-4,8,0.1) y = 6.0 / ( 1.0 + np.exp(-0.6*x) ) line, = plt.plot(x, y, '--', linewidth=2) ax.grid(True) plt.title('How to chan

Supprimer les labels des axes sous matplotlib ?

Sous matplotlib il est possible de supprimer les labels des axes en passant par les commandes "ax.set_xticklabels([])" et "ax.set_yticklabels([])", exemple: [image:485 size:100 caption:Exemple de départ avec les labels.] #!/usr/bin/env python import numpy as np import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) x = np.arange(-8,8,0.1) y = 6.0 / ( 1.0 + np.exp(-0.6*x) ) line, = plt.plot(x, y, '--', linewidth=2) ax.grid(True) plt.savefig('RemoveA

Concaténer deux strings en fortran ?

> En fortran, il est possible de concaténer deux strings, supposons que nous ayons 2 strings (string1, string2) de longueur 20 et que l'on souhaite additionner ces deux strings ensemble pour former un nouveau string (string3). Dans ce cas il suffit d'utiliser l'opérateur // pour additionner les deux strings (voir exemple 1 ci-dessous). Néanmoins, si le string 1 contient principalement des espaces en fin vous allez obtenir (voir exemple 1) un strings 3 avec le même nombres d'espaces entre le stri

Obtenir le/les indice(s) correspondant à la valeur minimum d'un tableau en fortran

> En fortran pour obtenir l'indice correspondant à la valeur minimum d'un tableau en fortran il existe la fonction [minloc()](https://gcc.gnu.org/onlinedocs/gfortran/MINLOC.html), exemple d'utilisation program test_minloc implicit none real, dimension(4,2) :: R R(1,1) = 4.0 R(2,1) = 6.0 R(3,1) = 3.0 R(4,1) = 5.0 R(1,2) = 7.0 R(2,2) = 1.0 R(3,2) = 8.0 R(4,2) = 2.0 write(6,*) minloc(R) ! Min tout le tableau write(6,*) minloc(R(:,1)) ! Min entre R(1,1), R(2,1), R(3,1), R(

Obtenir l'heure actuelle avec les minutes et les secondes en fortran

> En fortran pour obtenir l'heure actuelle avec les minutes et les secondes il existe la fonction [itime()](https://gcc.gnu.org/onlinedocs/gfortran/ITIME.html), comme dans cet exemple: program test_itime implicit none integer, dimension(3) :: tarray call itime(tarray) print *, 'Heure : ', tarray(1) print *, 'Minute : ', tarray(2) print *, 'Seconde : ', tarray(3) end program test_itime > qui donne par exemple: Heure : 19 Minute : 15 Seconde : 5 ### Recherches as

Générer des sequences de nombres aléatoires différentes avec le langage Fortran ?

Avec le fortran pour générer un nombre aléatoire ou une suite de nombres aléatoires il existe la fonction [rand()](https://gcc.gnu.org/onlinedocs/gfortran/RAND.html). Cependant, en utilisant rand sans préciser une graine pour le générateur comme dans cet exemple program CreateRandomNumberSequence implicit none integer :: i integer*4 timeArray(3) ! Holds the hour, minute, and second do i = 1, 10 write(6,*) rand(0) # Next Random Number end do end program CreateRandomNumberSe

Algorithme en fortran 90 pour créer un échantillon aléatoire avec poids

Dans cet article on va voir comment mettre en oeuvre simplement un échantillonnage aléatoire et pondéré en se basant sur le papier de recherche suivant: [Weighted random sampling with a reservoir](http://www.sciencedirect.com/science/article/pii/S002001900500298X#). Pour cela, considérons le problème simple suivant: on dispose de 100 données avec des poids différents (ici, un poids de 1 pour les données de 1 à 79 et un poids de 4 pour les données de 80 à 100) et on souhaite par exemple prélever

Titre sur plusieurs lignes utilisant latex sous matplotlib

Sous matplotlib, il n'est pas évidant de mettre un titre utilisant latex sur plusieurs lignes. Une solution a été proposée ([ici](http://stackoverflow.com/questions/2660319/putting-newline-in-matplotlib-label-with-tex-in-python)), dont voici un exemple simple: [image:480 size:100 caption:Titre sur plusieurs lignes utilisant latex sous matplotlib] #!/usr/bin/env python import numpy as np import matplotlib.pyplot as plt x = np.arange(0,4,0.2) y = np.exp(x) plt.title(r'Pixel cou

Erreur: SyntaxError: Non-ASCII character '\xc3' avec matplotlib

Si vous ne spécifiez pas dans votre script python utilisant matplotlib l'encodage au début du fichier vous pouvez rencontrer l'erreur suivante: SyntaxError: Non-ASCII character '\xc3' surtout dans le cas des accents français. L'exemple suivant: #!/usr/bin/env python import numpy as np import matplotlib.pyplot as plt x = np.arange(0,4,0.2) y = np.exp(x) plt.title(u'Un titre très très très très très très très très très très très très long !') plt.grid() plt.plot(x,y) #plt.show(

Titre long sur plusieurs lignes avec matplotlib

Avec Matplotlib quand vous avez un titre trop long comme dans cet exemple: [image:478 size:100 caption:Exemple d'un titre trop long avec matplotlib] #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt x = np.arange(0,4,0.2) y = np.exp(x) plt.title(u'Un titre très très très très très très très très très très très très long !') plt.grid() plt.plot(x,y) #plt.show() plt.savefig('MatplotlibLongTitle01.png',bbox_inches='tight') il

Convertir une image couleur en niveau de gris avec python

Avec python et la bibliothèque [PIL](http://www.pythonware.com/products/pil/) il est possible de convertir une image couleur en niveau de gris comme dans cet exemple: [images:458;459 dim:1*2 size:100 caption:Convertir une image couleur en niveau de gris avec python.] from PIL import Image img = Image.open('lena.png').convert('LA') img.save('greyscale.png') Le problème quand on veut convertir une image couleur en niveau de gris est que cette conversion n'est pas unique (voi

Clé d'un dictionnaire avec plusieurs valeurs associées sous python

Sous python, il est facile de déclarer un dictionnaire avec des clés et une seule valeur associée, comme dans cet exemple: >>> dico = {'dad':'Homer', 'mom':'Marge', 'sister':'Lisa'} >>> dico.keys() ['dad', 'sister', 'mom'] >>> dico.values() ['Homer', 'Lisa', 'Marge'] Pour avoir maintenant plusieurs valeurs associées à une seule clé, il faut associer à la clé un élément dit itérable comme une liste ou un tuple. Exemple avec une liste: >>> dico = {'a':[1,2,3], 'b':[4,5,

Boucle sur les clés et les valeurs d'un dictionnaire dans un template sous Django

Sous Django, pour faire une boucle sur les clés et les valeurs d'un dictionnaire dans un template il faut utiliser la syntaxe suivante: {% for key, values in data.items %}. Supposons que nous ayons le dictionnaire suivant: MyDico = {'dad':'Homer', 'mom':'Marge', 'sister':'Lisa'} Pour afficher les clés et les valeurs du dictionnaire dans le template: {% for key, values in data.items %} {{key}},{{values}} {% endfor %} qui va donner ici: dad, Homer mom, Marge s

Compteur pour une boucle for dans un template avec Django

Avec django il est possible d'avoir un compteur pour une boucle for dans un template en utilisant la syntaxe suivante: [forloop.counter](https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#for), exemple: {% for i in Mylist %} {{forloop.counter}} {% endfor %} qui va afficher: 1 2 3 . . . Il est possible d'avoir un compteur qui commence avec 0 plutôt que 1 (par défaut). Dans ce cas il faut utiliser la symtaxte suivante: {{fo

Comment accéder aux valeurs des colonnes d'une table avec sqlite3 de python ?

Pour accéder aux valeurs des colonnes d'une table avec sqlite3, il faut passer par [fetchall()](https://docs.python.org/2/library/sqlite3.html), comme dans cet exemple: QueryCurs.execute('Select * from Clients WHERE Ville=Fourmies') Values = QueryCurs.fetchall() print Values print type(Values),type(Values[0]) Fetchall retourne alors une liste de "tuples" contenant les valeurs des colonnes de la table. Pour accéder à une valeur particulière il suffit alors de procéder, par exemp

Comment vérifier si un élément existe déjà dans une table sous sqlite3 de python ?

Pour vérifier si un élément existe déjà dans une table sous sqlite3, il existe plusieurs possibilités (voir la très bonne réponse sur stackoverflow: [How to check the existence of a row in SQLite with Python?](http://stackoverflow.com/questions/2440147/how-to-check-the-existence-of-a-row-in-sqlite-with-python)). Le plus simple est d'utiliser la fonction [ fetchall](https://docs.python.org/2/library/sqlite3.html), comme ceci: QueryCurs.execute("Select * from Clients where Ville = 'Fourmies'

Vérifier si un élément est présent ou non dans une liste python

Avec python il est relativement simple de vérifier si un élément est présent ou non dans une liste python avec 'in' et 'not in', comme dans cet exemple: >>> l = ['Coucou','Salut','Bonjour','He'] >>> 'Salut' in l True >>> 'Hello' in l False >>> l = [3,1,7,5] >>> 7 in l True >>> 2 in l False ### Recherches associées Liens | Site ------------- | ------------- [Is there a short contains function for lists in Python?](http://stackoverflow.com/questions/1293

Fusionner une liste de caractères sous python

Sous python pour transformer une liste contenant des caractères en une chaine de caractères il existe la fonction [join](https://docs.python.org/2/library/stdtypes.html), exemple: >>> l = ['s','a','l','u','t'] >>> ''.join(l) 'salut' >>> l = ['Salut','comment','ca','va','?'] >>> ' '.join(l) 'Salut comment ca va ?' >>> ','.join(l) 'Salut,comment,ca,va,?' ### Recherches associées Liens | Site ------------- | ------------- [join fonction](https://docs.python.org/2

Supprimer une liste de caractères donnés d'une chaine de caractères sous python

Avec python il existe plusieurs possibilités pour supprimer certains caractères d'une chaine de caractères. Voici une astuce possible: >>> s = "Bonjour, comment ca va ?. {Bien} c'est-a-dire [0,1]" >>> list_sc = [",",".","-","?","'","[","]","(",")","{","}"] >>> ''.join([i if i not in list_sc else ' ' for i in s ]) 'Bonjour comment ca va Bien c est a dire 0 1 ' ### Recherches associées Liens | Site ------------- | ------------- [Remove specific characters from a strin

Vérifier si un nombre est égale à 'NAN' ou 'INF' sous python

Pour vérifier si un nombre est égale à 'NAN' ou 'INF' sous python le plus simple est de passe par numpy avec la méthode [isfinite](http://docs.scipy.org/doc/numpy/reference/generated/numpy.isfinite.html). Exemple d'utilisation: >>> import numpy as np >>> x = np.nan >>> y = np.inf >>> x nan >>> y inf >>> np.isfinite(x) False >>> np.isfinite(y) False Remarque: avec le module math il existe aussi la méthode [isnan](https://docs.python.org/2/library/math

Comment vérifier si une liste est vide en python ?

Avec python l'approche la plus rapide pour vérifier si une liste a est vide ou non est d'utiliser la condition logique not a qui va retourner True si la liste est vide ou False si la liste n'est pas vide: >>> a = [] >>> not a False Exemple d'utilisation: >>> a = [] >>> not a True >>> if not a: ... print 'La liste a est vide' ... La liste a est vide >>> a = [4,2,7] >>> not a False >>> if not a: ... print 'La liste a est vide

Créer une base de données et une table avec sqlite3 de python

Exemple simple de comment créer une base de données et une table avec sqlite3 de python (inspiré par [Python 2.7 Tutorial Pt 12 SQLite](http://www.youtube.com/watch?v=Ll_ufNL5rDA)). Pour plus de details voir les tutoriels sur sqlite3 ([SQLite Python Tutorial](http://www.tutorialspoint.com/sqlite/sqlite_python.htm) et [SQLite Python tutorial](http://zetcode.com/db/sqlitepythontutorial/)): import sqlite3 CreateDataBase = sqlite3.connect('MyDataBase.db') QueryCurs = CreateDataBase.cursor()

Diviser un dictionnaire python en deux ou plusieurs dictionnaires

Pour diviser un dictionnaire en deux ou plusieurs dictionnaires avec python, voici une solution possible: en transformant le dictionnaire en liste avec items() puis en divisant ("split") la liste et finalement en transformant la liste divisée en dictionnaire: >>> dico = {'Bob':'21','Ben':'18','Bill':'47','Peter':'12'} >>> dico1 = dict(dico.items()[len(dico)/2:]) >>> dico2 = dict(dico.items()[:len(dico)/2]) >>> dico1 {'Peter': '12', 'Ben': '18'} >>> dico2 {'Bob': '21