web-dev-qa-db-fra.com

Comment supprimer le contour du marqueur de cercle lors de l'utilisation de pyplot.plot dans matplotlib

Je produis un diagramme de dispersion en utilisant pyplot.plot (au lieu de scatter - j'ai des difficultés avec la palette de couleurs)

Je suis en train d'utiliser le marqueur "o" pour obtenir un cercle, mais le cercle a toujours un contour noir.

Comment puis-je supprimer le contour ou ajuster sa couleur?

31
Toam

Pour supprimer le contour d'un marqueur et ajuster sa couleur, utilisez respectivement markeredgewidth (ou mew) et markeredgecolor (ou mec).

En utilisant ceci comme guide :

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.1)
y = np.sin(x)

plt.plot(x,
         y,
         color='blue',
         marker='o',
         fillstyle='full',
         markeredgecolor='red',
         markeredgewidth=0.0)

Cela produit:  plot result

Comme vous le constatez, bien que la couleur de bord du marqueur soit définie, sa largeur étant égale à zéro, elle ne s'affiche pas.

42
jrd1

À partir de la pyplot docs de l'API :

markeredgecolor ou mec n'importe quelle couleur matplotlib

Exemple:

In [1]: import matplotlib.pyplot as plt

In [2]: import numpy as np

In [3]: x = np.linspace(0,1,11)

In [4]: y = x * x

In [5]: plt.plot(x,y,'o',color="red", ms=15, mec="red")
Out[5]: [<matplotlib.lines.Line2D at 0x34e1cd0>]

In [6]: plt.show()

Rendements: Figure

Est-ce ce que vous cherchez?

6
Andrey Sobolev

Ceci est décrit dans la documentation matplotlib.axes.Axes.scatter disponible à https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.scatter.html

Il spécifie que les couleurs de bord de ligne pour les marqueurs de diagramme de dispersion peuvent être définies avec 

 edgecolors : color or sequence of color, optional, default: ‘face’
 The Edge color of the marker. Possible values:

 - ‘face’: The Edge color will always be the same as the face color.
 - ‘none’: No patch boundary will be drawn.
 - A matplotib color.

 For non-filled markers, the edgecolors kwarg is ignored and forced to ‘face’ internally.

La largeur des bords de la ligne peut être spécifiée avec 

`linewidths` : scalar or array_like, optional, default: None

The linewidth of the marker edges.

Note: The default edgecolors is ‘face’.

Vous voudrez peut-être aussi changer cela. Si Aucun, par défaut, rcParams lines.linewidth.

0
nicholasericksen