in

Gráfico de barras en Matplotlib – GeeksforGeeks

gfg 200x200 min

Un diagrama de barras o gráfico de barras es un gráfico que representa la categoría de datos con barras rectangulares con longitudes y alturas proporcionales a los valores que representan. Los diagramas de barras se pueden trazar horizontal o verticalmente. Un gráfico de barras describe las comparaciones entre las categorías discretas. Uno de los ejes del gráfico representa las categorías específicas que se comparan, mientras que el otro eje representa los valores medidos correspondientes a esas categorías.

Crear un diagrama de barras

los matplotlib La API en Python proporciona la función bar () que se puede utilizar en el uso del estilo MATLAB o como una API orientada a objetos. La sintaxis de la función bar () que se utilizará con los ejes es la siguiente: –

plt.bar(x, height, width, bottom, align)

La función crea un gráfico de barras delimitado por un rectángulo en función de los parámetros dados. A continuación se muestra un ejemplo simple del diagrama de barras, que representa el número de estudiantes matriculados en diferentes cursos de un instituto.

Python3

import numpy as np

import matplotlib.pyplot as plt

 

data = {'C':20, 'C++':15, 'Java':30,

        'Python':35}

courses = list(data.keys())

values = list(data.values())

 

fig = plt.figure(figsize = (10, 5))

plt.bar(courses, values, color ='maroon',

        width = 0.4)

plt.xlabel("Courses offered")

plt.ylabel("No. of students enrolled")

plt.title("Students enrolled in different courses")

plt.show()

Producción-

bar1

Aquí, plt.bar (cursos, valores, color = ‘granate’) se utiliza para especificar que el gráfico de barras se trazará utilizando la columna de cursos como eje X y los valores como eje Y. El atributo color se utiliza para establecer el color de las barras (granate en este caso) .plt.xlabel («Cursos ofrecidos») y plt.ylabel («estudiantes matriculados») se utilizan para etiquetar los ejes correspondientes.plt.title ( ) se usa para hacer un título para el gráfico.plt.show () se usa para mostrar el gráfico como salida usando los comandos anteriores.

Personalizar el gráfico de barras

Python3

import pandas as pd

from matplotlib import pyplot as plt

data = pd.read_csv(r"cars.csv")

data.head()

df = pd.DataFrame(data)

name = df['car'].cabeza(12)

price = df['price'].cabeza(12)

fig = plt.figure(figsize =(10, 7))

plt.bar (nombre[0:10], precio[0:10])

plt.show()

Producción:

bar2

Se observa en el gráfico de barras anterior que las marcas del eje X se superponen entre sí, por lo que no se pueden ver correctamente. Por lo tanto, al girar las marcas del eje X, se puede ver claramente. Es por eso que se requiere la personalización en los gráficos de barras.

Python3

import pandas as pd

from matplotlib import pyplot as plt

data = pd.read_csv(r"cars.csv")

data.head()

df = pd.DataFrame(data)

name = df['car'].cabeza(12)

price = df['price'].cabeza(12)

fig, ax = plt.subplots(figsize =(16, 9))

ax.barh(name, price)

for s in ['top', 'bottom', 'left', 'right']:

    ax.spines[s].set_visible(False)

ax.xaxis.set_ticks_position('none')

ax.yaxis.set_ticks_position('none')

ax.xaxis.set_tick_params(pad = 5)

ax.yaxis.set_tick_params(pad = 10)

ax.grid(b = True, color ='grey',

        linestyle ='-.', linewidth = 0.5,

        alpha = 0.2)

ax.invert_yaxis()

for i in ax.patches:

    plt.text(i.get_width()+0.2, i.get_y()+0.5,

             str(round((i.get_width()), 2)),

             fontsize = 10, fontweight ='bold',

             color ='grey')

ax.set_title('Sports car and their price in crore',

             loc ='left', )

fig.text(0.9, 0.15, 'Jeeteshgavande30', fontsize = 12,

         color ='grey', ha ='right', va ='bottom',

         alpha = 0.7)

plt.show()

Producción:

bar3

Hay muchas más personalizaciones disponibles para gráficos de barras.

Gráficos de barras múltiples

Los gráficos de barras múltiples se utilizan cuando se va a realizar una comparación entre el conjunto de datos cuando una variable está cambiando. Podemos convertirlo fácilmente como un gráfico de barras de áreas apiladas, donde cada subgrupo se muestra uno encima de los demás. Puede trazarse variando el grosor y la posición de las barras. El siguiente diagrama de barras muestra el número de estudiantes aprobados en la rama de ingeniería:

Python3

import numpy as np

import matplotlib.pyplot as plt

barWidth = 0.25

fig = plt.subplots(figsize =(12, 8))

IT = [12, 30, 1, 8, 22]

ECE = [28, 6, 16, 5, 10]

CSE = [29, 3, 24, 25, 17]

br1 = np.arange(len(IT))

br2 = [x + barWidth for x in br1]

br3 = [x + barWidth for x in br2]

plt.bar(br1, IT, color ='r', width = barWidth,

        edgecolor ='grey', label ='IT')

plt.bar(br2, ECE, color ='g', width = barWidth,

        edgecolor ='grey', label ='ECE')

plt.bar(br3, CSE, color ='b', width = barWidth,

        edgecolor ='grey', label ='CSE')

plt.xlabel('Branch', fontweight ='bold', fontsize = 15)

plt.ylabel('Students passed', fontweight ='bold', fontsize = 15)

plt.xticks ([r + barWidth for r in range(len(IT))],

        ['2015', '2016', '2017', '2018', '2019'])

plt.legend()

plt.show()

Producción:

MultipleBarplots

Gráfico de barras apiladas

Los diagramas de barras apiladas representan diferentes grupos uno encima del otro. La altura de la barra depende de la altura resultante de la combinación de los resultados de los grupos. Va desde abajo hasta el valor en lugar de ir de cero a valor. El siguiente diagrama de barras representa la contribución de niños y niñas en el equipo.

Python3

import numpy as np

import matplotlib.pyplot as plt

N = 5

boys = (20, 35, 30, 35, 27)

girls = (25, 32, 34, 20, 25)

boyStd = (2, 3, 4, 1, 2)

girlStd = (3, 5, 2, 3, 3)

ind = np.arange(N)  

width = 0.35

fig = plt.subplots(figsize =(10, 7))

p1 = plt.bar(ind, boys, width, yerr = boyStd)

p2 = plt.bar(ind, girls, width,

             bottom = boys, yerr = girlStd)

plt.ylabel('Contribution')

plt.title('Contribution by the teams')

plt.xticks(ind, ('T1', 'T2', 'T3', 'T4', 'T5'))

plt.yticks(np.arange(0, 81, 10))

plt.legend ((p1[0], p2[0]), ('boys', 'girls'))

plt.show()

Producción-

bar5

¡Atención geek! Fortalece tus cimientos con el Fundación de programación de Python Curso y aprende los conceptos básicos.

Para empezar, los preparativos de su entrevista Mejore sus conceptos de estructuras de datos con el Python DS Curso. Y para comenzar con su viaje de aprendizaje automático, únase al Aprendizaje automático – Curso de nivel básico

Deja una respuesta

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

apple touch icon@2

Cómo salir / salir / desactivar un virtualenv de Python

edit

Isla vs Península – Diferencia y Comparación