Gráficos de Matplotlib – Barra | Caja | pastel | Histograma | Dispersión

Matplotlib es una de las herramientas más utilizadas para trazar en Python. En este artículo, veremos cómo usar matplotlib para crear algunos gráficos básicos, como gráficos de líneas, gráficos circulares, histogramas, gráficos de barras y de dispersión.

Entonces, comencemos con el gráfico de líneas.

Gráficos de línea:

Este es el tipo de trama más básico. Un gráfico de líneas se usa típicamente para trazar la relación entre dos variables numéricas.

A continuación se muestra un fragmento de código para trazar la cantidad de helados vendidos durante una semana.

gráfico de línea

Un gráfico de líneas, en pocas palabras, conecta los puntos de datos con una línea recta.

Gráfico circular:

Un gráfico circular es una figura circular que representa el porcentaje o la proporción de datos.

Para crear un gráfico circular, podemos usar la función pie() de Matplotlib.

El siguiente fragmento de código muestra la cuota de mercado de los navegadores en todo el mundo. Las estadísticas son tomadas de este sitio web.

Gráfico circular

El argumento autopct en la función pie() se usa para mostrar los valores porcentuales en el gráfico circular.

Si desea que las rebanadas se separen, podemos usar el argumento explotar en la función pastel().

Para explotar todos los cortes, use la siguiente configuración.

gráfico circular explotar

Vale la pena señalar que la longitud de la lista proporcionada para explotar debe ser la misma que la cantidad de categorías.

Si necesita resaltar la participación de mercado de una empresa en particular, digamos, Safari, podemos usar lo siguiente.

Gráfico de dispersión:

Otro diagrama popular es el diagrama de dispersión. Traza la relación entre dos características numéricas en un conjunto de datos.

Cada punto de datos tendrá una coordenada ax e y y está representado por un punto.

El siguiente diagrama de dispersión muestra la relación entre la experiencia y el salario de las personas.

El archivo CSV se puede descargar aquí.

Las siguientes son las primeras 5 entradas del conjunto de datos.

Ahora dibujemos el diagrama de dispersión.

gráfico de dispersión

Parcela de barras:

Al comparar datos, los gráficos de barras son útiles. Compara diferentes tipos de datos utilizando barras rectangulares.

Usaremos los mismos datos de ventas de helados que usamos para el gráfico de líneas.

gráfico de barras

Para trazar un gráfico de barras horizontales podemos usar la función barh().

barh

Gráfico de histograma:

Un histograma representa gráficamente la distribución de datos numéricos. El rango de valores se divide en contenedores de igual tamaño. La altura de cada contenedor representa la frecuencia de los valores en ese contenedor.

El siguiente es un ejemplo de cómo graficar la distribución de salarios (los mismos datos que hemos usado para el diagrama de dispersión).

Para dibujar el histograma usaremos la función hist() en matplotlib. Agrupará los puntos de datos en contenedores y trazará las frecuencias como barras para cada contenedor.

iris de histograma

También puede cambiar el tamaño de la papelera usando el contenedores argumento.

Diagrama de caja:

El diagrama de caja, también conocido como diagrama de caja y bigotes, nos ayuda a estudiar la distribución de los datos. Es una forma muy conveniente de visualizar la dispersión y el sesgo de los datos.

Se crea trazando el resumen de cinco números del conjunto de datos: mínimo, primer cuartil, mediana, tercer cuartil y máximo.

Si tiene curiosidad sobre el resumen de cinco números, he escrito un artículo sobre Cómo interpretar diagramas de caja. Échale un vistazo.

El siguiente fragmento de código traza el diagrama de caja para la función de salario.

diagrama de caja

Personalización de gráficos para hacerlo más legible:

Ahora veamos cómo podemos mejorar la legibilidad de nuestros gráficos.

Primero, comenzaremos agregando títulos a nuestras parcelas. Usaremos el diagrama de líneas.

Podemos agregar el título a nuestras parcelas simplemente agregando la línea plt.title(). De manera similar, las funciones xlabel() e ylabel() se pueden usar para agregar etiquetas x e y.

añadir título y etiquetas

Para agregar una leyenda a la trama, primero debemos pasar un valor al argumento de la función plot() etiqueta. A continuación, debemos agregar la función legend() de matplotlib.

añadir leyenda

También podemos cambiar la ubicación de la leyenda pasando valor al argumento ubicación en la función plt.legend().

ubicación de la leyenda

El argumento loc acepta los siguientes valores:

  • mejor
  • superior derecha
  • arriba a la izquierda
  • abajo a la izquierda
  • inferior derecha
  • Correcto
  • centro izquierda
  • centro derecha
  • centro inferior
  • centro superior
  • centro

Ahora digamos que tenemos los nombres de los días en el eje x en lugar de números. La trama resultante sería similar a la siguiente.

Podemos ver que el eje x está poco congestionado. Para hacer esto más legible, podemos rotar las etiquetas con la función xticks().

Usando el parámetro de rotación en xticks() podemos rotar la etiqueta del eje x.

El siguiente código lo rotará verticalmente.

xticks rotar

También podemos pasar cualquier número como valor a la rotación del argumento. Si pasamos 45 como valor al argumento rotación, rotará las etiquetas 45 grados.

De manera similar, podemos usar los yticks () para rotar la etiqueta en el eje y.

Todas estas técnicas también se pueden utilizar para otras parcelas.

Ahora veamos cómo podemos dibujar varias parcelas en la misma figura.

Trazado de múltiples parcelas:

Las parcelas múltiples se organizan en una cuadrícula amxn en una figura, donde m indica el número de filas y n indica el número de columnas.

La función subplot() de Matplotlib se puede usar para crear múltiples gráficos en una sola figura.

Usaremos el conjunto de datos de Iris para trazar la distribución de diferentes características usando un histograma. Puede descargar el conjunto de datos de aquí.

El siguiente fragmento de código trazará el histograma para las cuatro características en el conjunto de datos del iris, es decir, SepalLength, SepalWidth, PetalLength y PetalWidth

parcelas matplotlib

La función subplot() es lo único nuevo para nosotros. Entonces, tratemos de entender qué significan los números dentro de la subtrama().

Los primeros dos valores en plt.subplot(2,2,1) denotan el tamaño de la cuadrícula, siendo el primero el valor de m (tamaño de fila) y el segundo el valor de n (tamaño de columna).

El tercer valor indica dónde queremos colocar el gráfico en la cuadrícula. Se debe usar un valor de 1 para colocar el gráfico en la primera celda de la cuadrícula.

Sin embargo, un problema con nuestra figura de tramas múltiples es que los títulos se superponen y son difíciles de leer.

Podemos usar el método tight_layout() para hacer que las subparcelas estén más espaciadas.

subparcela matplotlib

Los títulos de la figura anterior son más legibles que los anteriores.

Guardando la Trama:

Para guardar la salida podemos usar el método savefig(). Solo necesitamos pasar el nombre del archivo.

El siguiente fragmento de código guardará la salida con el nombre salida.png

Puedes encontrar el código completo en este Repositorio de Github.

Fuente del artículo

Deja un comentario