Gráficos de líneas transparentes Matplotlib


131

Estoy trazando dos trayectorias similares en matplotlib y me gustaría trazar cada una de las líneas con transparencia parcial para que el rojo (trazado en segundo lugar) no oscurezca el azul.

texto alternativo

EDITAR : Aquí está la imagen con líneas transparentes.

texto alternativo

Respuestas:


254

Llano y simple:

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

(Sé que no agrego nada nuevo, pero la respuesta directa debería ser visible).


No puedo ver dónde se documenta el parámetro alfa. ¿Podría actualizar la respuesta para incluir dónde está documentado?
Alex Spurling

1
@AlexSpurling plt.plottoma argumentos de palabras clave para los Line2Dcuales el parámetro alfa, entre otros, es propiedad de.
Thirdwater

27

Después de trazar todas las líneas, pude establecer la transparencia de todas ellas de la siguiente manera:

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

EDITAR: vea la respuesta de Joe en los comentarios.


28
Todas las funciones de trazado de maplotlib toman un parámetro alfa directamente. Solo puedes hacer plt.plot(x, y, 'r-', alpha=0.7).
Joe Kington

3
Me gustaría ver la imagen actualizada, ¿podría agregarla a esta respuesta, por favor?
Sven Marnach

3
@ JoeKington: eso parece componer las líneas antes de aplicar la transparencia. ¿Hay alguna manera de hacerlo al revés, de modo que las líneas transparentes se sumen para oscurecerse?
nada101

5

Realmente depende de qué funciones esté usando para trazar las líneas, pero intente ver si el encendido que está usando toma un valor alfa y lo establece en algo así como 0.5. Si eso no funciona, intente obtener los objetos de línea y establezca sus valores alfa directamente.


1
El comentario de @ joe-kington dice que todas las funciones de matplotlib toman un parámetro alfa, ¿su respuesta necesita una corrección o su comentario?
U3.1415926
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.