- Objetivo
- Presentar información sobre elaboración de gráficos con Python y algunos ejemplos.
Los gráficos deben cumplir el objetivo de transmitir un mensaje al espectador, mucho mejor si personas ajenas al público ojetivo logran captar dicho mensaje. Para su elaboración se dispone de una gran variedad de herramientas, siendo este el caso de usar lenguajes de programación, ya que permite tener el mayor control posible sobre los gráficos a elaborar, además de quedar mucho mejor que los gráficos elaborados en Excel.
La ventaja de realizar una gráfica usando lenguajes de programación (sea Python, R, o incluso JavaScript) es la posibilidad de realizar muchos cambios y ajustar nuestras necesidades al gráfico, siendo esto a su vez una desventaja ya que se requiere de un mayor conocimiento sobre las opciones disponibles, métodos y formas para obtener dicho gráfico.
Python permite elaborar gráficas mediante el uso de libreríasa específicas, siendo el más conocido Matplotlib. Entre otras librerías tenemos:
Según nuestra necesidad, Los gráficos pueden ser estáticos o interactivos. Los gráficos estáticos son meramente eso, estáticos. Se presentan en documentos, presentaciones y cumplen la función de mostrar un mensaje. Los gráficos interactivos por su parte, permiten interactuar con los datos empleados. Estos pueden integrarse en aplicaciones y dashboards, entre otras más.
A continuación presento una imagen que nos ayudará a decidir qué librería podemos usar de acuerdo a nuestra necesidad.
Algunos comentarios sobre las librerías:
A continuación le presente gráficas realizadas con algunas librerías ya antes mencionadas.
Se realizaron gráficas para un manual de fertilización en cultivos de ajo y cebolla. A partir de datos
medidos en campo a distintas fechas, se elaboró cuatro gráficas que presentan la absorción de nutrientes
NPK en la planta, datos ajustados a una función sigmoide (curva S).
A partir de dichas curvas, se procedió a estimar las áreas bajo la curva para analizar las proporciones
a dosificar. A continuación se muestra la curva de absorción del nutriente Nitrógeno (N) para la cebolla
amarilla century.
Tuve la oportunidad de realizar estas gráficas para proyectos de investigación. Primero realicé esta gráfica
con datos de estación meteorológica en la estación del INIA en Lambayeque (Vista Florida).
Posteriormente, en la estación del INIA en Arequipa (Anexo Santa Rita), pude mejorar la gráfica añadiendo
la variable de evapotranspiración potencial, obtenida con el método de Penman-Monteith
usando la librería pyet. Presenta además información de
fechas en la que se desarrolla el cultivo como anotaciones con flechas de color azul.
Ahora un gráfico interactivo.
Con Plotly pude realizar una visualización interactiva sobre los datos de temperatura de la estación
meteorológica de Tinajones para las 3pm (en sí debió ser para las 11 am por un desconocimiento de
que las imágenes Landsat 8 y 9 trabajan con horas UTC mientras que para la zona de estudio se usa UTC-5).
En este caso se trató de representar la variación temporal y espacial de la zona de estudio (arrozales en Lambayeque) con imágenes satelitales. Se utilizó la librería cartoee de geemap para obtener visualizaciones tipo publicación científica. Posteriormente, se realizó un gif.
Con Plotly pude realizar la exploración de datos de Porcentaje de Nubosidad para imágenes satelitales disponibles de Landsat y Sentinel-2 con
el fin de tener una noción de qué imágenes usar en función al bajo porcentaje de nubosidad. Para procesamiento de dichos productos se requiere
de imágenes con cielo despejado. Con esta gráfica me permitió realizar comparaciones entre imágenes disponibles.
Matplotlib
PlotlyMuchas gracias por leer. Saludos!