> Modules non standards > Matplotlib > Stem plot
Stem plot
Graphe qui représente une barre verticale par point à la coordonnée indiquée (voir ci-dessous pour un exemple) :
- on donne les coordonnées en x des barres, et les coordonnées y correspondantes.
- exemple : pyplot.stem(range(5), [x ** 2 for x in range(5)])
- on peut donner en plus des propriétés :
- markerfmt = 'ro' : format pour les points en (x, y) avec la couleur (rouge) et le symbole du point (un rond).
- markerfmt = 'r-' : trace une ligne continue reliant les points.
- linefmt = 'g--' : le format des lignes verticales avec la couleur et (vert) le type de trait (trait interrompu).
- basefmt = 'm:' : le format de l'axe horizontal avec la couleur (magenta) et le type de trait (pointillés).
- pour les couleurs et les types de traits, voir la fonction plot dans l'introduction.
Exemple de stem plot :
pyplot.stem(range(5), [x ** 2 for x in range(5)],
markerfmt = 'ro', linefmt = 'g--', basefmt = 'm:', use_line_collection = True)
pyplot.margins(0.1, 0.1)
pyplot.title('stem avec configuration simple')
pyplot.ylabel('valeurs')
On peut aussi donner des propriétés beaucoup plus détaillées avec la fonction setp :
- récupérer les lignes des points y, les lignes verticales et la ligne horizontale de base en retour de la fonction stem : (markerLines, stemLines, baseLines) = pyplot.stem([x ** 1.2 for x in range(5)], [x ** 2 for x in range(5)])
- puis, sur chacun des éléments, on peut appeler setp en indiquant une liste de propriétés : pyplot.setp(markerLines, color = 'cyan', markersize = 20.
- propriétés :
- color = 'cyan' : la couleur.
- markersize = 20 : la taille des symboles.
- markeredgecolor = 'blue' : la couleur des bordures des symboles.
- markeredgewidth = 3 : l'épaisseur des bordures des symboles.
- linewidth = 3 : l'épaisseur des traits.
- linestyle = 'dashdot' : le style de trait ('solid', 'dashed', 'dashdot', 'dotted').
Exemple avec configuration détaillée :
(markerLines, stemLines, baseLines) = pyplot.stem([x ** 1.2 for x in range(5)],
[x ** 2 for x in range(5)],
use_line_collection = True)
pyplot.setp(markerLines, color = 'cyan', markersize = 20,
markeredgecolor = 'blue', markeredgewidth = 3)
pyplot.setp(stemLines, color = 'green', linewidth = 3, linestyle = 'dashdot')
pyplot.setp(baseLines, color = 'red', linewidth = 2, linestyle = 'dashed')
pyplot.margins(0.1, 0.1)
pyplot.title('stem avec configuration detaillee')
pyplot.ylabel('valeurs')
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert