Kreślę dwie podobne trajektorie w matplotlib i chciałbym wykreślić każdą z linii z częściową przezroczystością, aby czerwona (wykreślona sekunda) nie przesłaniała niebieskiego.
EDYCJA : Oto obraz z przezroczystymi liniami.
Odpowiedzi:
Jasne i proste:
plt.plot(x, y, 'r-', alpha=0.7)
(Wiem, że nie dodam nic nowego, ale prosta odpowiedź powinna być widoczna).
plt.plot
przyjmuje argumenty słów kluczowych, dla Line2D
których między innymi parametr alfa jest właściwością.
Po narysowaniu wszystkich linii mogłem ustawić przezroczystość wszystkich w następujący sposób:
for l in fig_field.gca().lines:
l.set_alpha(.7)
EDYCJA: zobacz odpowiedź Joe w komentarzach.
plt.plot(x, y, 'r-', alpha=0.7)
.
To naprawdę zależy od funkcji, których używasz do wykreślania linii, ale spróbuj sprawdzić, czy używany przez ciebie on przyjmuje wartość alfa i ustaw ją na około 0,5. Jeśli to nie zadziała, spróbuj pobrać obiekty liniowe i bezpośrednio ustawić ich wartości alfa.