J'ai utilisé Matplotlib pour tracer des lignes sur une figure. Je voudrais maintenant définir le style, en particulier le marqueur, pour des points individuels sur la ligne. Comment puis-je faire cela?
Pour clarifier ma question, je veux pouvoir définir le style des marqueurs individuels sur une ligne, pas tous les marqueurs sur ladite ligne.
python
matplotlib
dbmikus
la source
la source
Réponses:
Spécifiez le mot-clé args
linestyle
et / oumarker
dans votre appel àplot
.Par exemple, en utilisant une ligne en pointillés et des marqueurs de cercle bleu:
Un appel de raccourci pour la même chose:
Voici une liste des styles de lignes et de marqueurs possibles:
edit: avec un exemple de marquage d'un sous-ensemble arbitraire de points, comme demandé dans les commentaires:
Ce dernier exemple utilisant le
markevery
kwarg est possible depuis la version 1.4+, en raison de la fusion de cette branche de fonctionnalité . Si vous êtes bloqué sur une ancienne version de matplotlib, vous pouvez toujours obtenir le résultat en superposant un nuage de points sur le graphique linéaire. Consultez l' historique des modifications pour plus de détails.la source
matplotlib.markers.MarkerStyle.markers
, qui renvoie un dictionnaire similaire à ce que wim a publié ci-dessus.Il y a une image montrant le nom et la description de tous les marqueurs, j'espère que cela vous aidera.
la source
Pour référence future - l'
Line2D
artiste renvoyé par aplot()
également uneset_markevery()
méthode qui vous permet de définir des marqueurs uniquement sur certains points - voir https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D. set_markeveryla source
Une astuce simple pour changer la forme, la taille d'un marqueur de point particulier ... consiste d'abord à le tracer avec toutes les autres données, puis à tracer un autre tracé uniquement avec ce point (ou ensemble de points si vous souhaitez changer le style de plusieurs points) . Supposons que nous voulions changer la forme du marqueur du deuxième point:
Le résultat est: Tracer avec plusieurs marqueurs
la source