Mis a jour le 2025-04-14, 12:10

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:') 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)]) 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