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.