Hoy vamos a aprender a realizar un mapa de tiros. Estos gráficos son muy típicos en los análisis de jugadores. En ellos, podemos ver las coordenadas exactas desde donde el futbolista realizó sus disparos en un partido o temporada.
Se utiliza como plantilla de fondo un dibujo de un campo de fútbol (nosotros vamos a utilizar el sistema de coordenadas de Opta, 100×100) y en él vamos marcando con puntos los diferentes lugares desde donde se disparó.
Para nuestro ejemplo, veremos los disparos de Joselu, delantero del Deportivo Alavés, durante esta temporada en La Liga:
Resumen
Tipo de gráfico: Gráfico Bubble map. En este tipo de gráficos se representan coordenadas geográficas con puntos (o pompas) sobre un mapa. Además, los puntos tienen distinto tamaño para representar una variable numérica. En nuestro ejemplo, el eje X marca el lateral del campo y el Y, el fondo. Marcamos las coordenadas de los disparos con puntos y el tamaño de éstos representa el xG. También jugamos con el color para indicar si ha sido gol.
Fuente de datos: Understat. Es el único proveedor gratuito que nos ofrece las coordenadas de los disparos. Podemos encontrarlos para las principales ligas europeas. Al contrario que en FBRef, no tenemos la posibilidad de descargarnos los datos directamente en un archivo CSV, por lo que utilizaremos una librería específica para ello.
Lenguaje de programación: R. Para realizar la visualización hemos utilizado el paquete ggplot2 para los puntos y FC.rSTATS para dibujar el campo. Además, para obtener los datos de Understat, usamos el paquete understatr. Todo el código utilizado lo podéis encontrar en nuestro repositorio de GitHub. Veamos el resultado:
¿Qué vemos?
Este tipo de gráficos es muy útil para ver la zona de peligro de un jugador. En el ejemplo, podemos ver que Joselu, como buen delantero centro, concentra la mayoría de sus remates en la zona central del área. También observamos que el jugador del Deportivo Alavés, aprovechando su fuerte disparo, prueba bastante fortuna desde la frontal del área e incluso algún tiro desde zonas lejanas.
Jugando con filtros
Los datos de cada tiro que nos aporta Understat incluyen variables como result, que nos dice el resultado del tiro (bloqueado, gol, fuera, etc) o situation, que nos dice si el tiro ha sido en juego abierto o en otra situación como un libre directo o de remate en un córner. Incluso podemos saber con que parte del cuerpo realizó el remate con la característica shotType. Todas estas variables nos pueden servir para enriquecer el gráfico o filtrar sólo lo que nos interesa.
Por ejemplo, veamos el mismo gráfico, pero, en vez de puntos, utilizaremos un símbolo distinto dependiendo del valor de la variable result:
Otra opción, si sólo nos interesa ver los disparos de libre directo, podría ser filtrar por la variable situation eligiendo sólo los que estén a DirectFreeKick:
Si os ha gustado, os retamos a que creéis la visualización de vuestro jugador favorito y nos la enseñéis en Twitter. Podéis ver todo el código para realizarla, como siempre, en nuestro repositorio de GitHub.