J'essaie de faire un tracé dans matplotlib avec des marqueurs transparents qui ont une couleur fixe Edge. Cependant, je n'arrive pas à obtenir un marqueur avec un remplissage transparent.
J'ai ici un exemple de travail minimum:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
y1 = 2*x + 1
y2 = 3*x - 5
plt.plot(x,y1, 'o-', lw=6, ms=14)
plt.plot(x,y2, 'o', ms=14, markerfacecolor=None, alpha=0.5, markeredgecolor='red', markeredgewidth=5)
plt.show()
J'ai essayé deux techniques que j'ai trouvées en ligne pour y parvenir: 1) Définition du paramètre alpha. Cependant, cela rend également le marqueur Edge transparent, ce qui n'est pas l'effet souhaité. 2) Définition de markerfacecolor = None, bien que cela n'ait aucun effet sur mon tracé
Y a-t-il une solution à cela s'il vous plaît?
C'est délicat dans Matplotlib ... vous devez utiliser une chaîne "None"
au lieu de la valeur None
, alors vous pouvez simplement faire:
plt.plot(x,y2, 'o', ms=14, markerfacecolor="None",
markeredgecolor='red', markeredgewidth=5)