Microentrada: Rendimiento de scatterplots en matplotlib

Normalmente, si vas a dibujar pocos puntos en un scatter plot lo normal es usar scatter en matplotlib. Sin embargo, si tienes que dibujar una cantidad considerable de puntos, el rendimiento puede ser un factor importante. Como alternativa se puede usar plot en lugar de scatter.

Veamos un ejemplo muy sencillo de esto y el rendimiento obtenido. vamos a dibujar 100.000 puntos aleatorios y ver los tiempos que obtenemos usando scatter y plot.

Primero importamos las librerías a usar:

Creamos 100.000 puntos aleatorios:

Veamos lo que tarda un scatter plot

Y ahora lo mismo pero con un plot normal

La diferencia entre ambas opciones es:

\( Rendimiento = \frac{scatter}{plot} = \frac{598}{9.09} \approx 65 \)

Motivación de esta entrada: hoy en el trabajo he tenido que escribir unos cuantos paneles de figuras 8×8, es decir, 64 figuras en cada panel, con más de 50.000 datos en cada figura y me ha parecido interesante compartir este pequeño truco que tengo por ahí guardado para estos casos 🙂

4 pensamientos sobre “Microentrada: Rendimiento de scatterplots en matplotlib”

  1. Me encantan estos trucos de “perro viejo” 😉
    Gracias por compartirlo Kiko!
    P.D.: Creo recordar que en MATLAB ocurre algo similar (también aprendido por haberlo sufrido en carnes)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

sixty one + = 70