2010-12-01 9 views
75

Je trace deux trajectoires similaires dans matplotlib et j'aimerais tracer chacune des lignes avec une transparence partielle afin que le rouge (tracé en second) n'obscurcisse pas le bleu.Matplotlib lignes courbes transparentes

alt text

EDIT: Voici l'image avec des lignes transparentes.

alt text

+26

Ahhh ... l'attracteur de Lorenz. Ça me rend toujours heureux ... :) –

Répondre

120

Plain et simple:

plt.plot(x, y, 'r-', alpha=0.7) 

(je sais que j'ajouter rien de nouveau, mais la réponse directe doit être visible).

+0

Je ne peux pas voir où le paramètre alpha est documenté. Pourriez-vous mettre à jour la réponse pour inclure où cela est documenté? –

6

Cela dépend vraiment de ce que vous utilisez fonctions pour tracer les lignes, mais essayez de voir si le sur vous utilisez prend une valeur alpha et placèrent à quelque chose comme 0,5. Si cela ne fonctionne pas, essayez d'obtenir les objets de ligne et définissez leurs valeurs alpha directement.

20

Après avoir comploté toutes les lignes, j'ai pu régler la transparence de tous comme suit:

for l in fig_field.gca().lines: 
    l.set_alpha(.7) 

EDIT: s'il vous plaît voir la réponse de Joe dans les commentaires.

+25

Toutes les fonctions de tracé de maplotlib prennent directement un paramètre alpha. Vous pouvez simplement faire 'plt.plot (x, y, 'r-', alpha = 0.7)'. –

+3

Je serais heureux de voir l'image mise à jour - pourriez-vous l'ajouter à cette réponse s'il vous plaît? –

+0

@Joe Klington Merci! @Sven Marnach, d'accord! – Gus