Pandas DataFrame DataFrame.plot.bar() Función
-
Sintaxis de
pandas.DataFrame.plot.bar()
-
Códigos de ejemplo:
DataFrame.plot.bar()
-
Códigos de ejemplo:
DataFrame.plot.bar()
Con múltiples columnas de datos -
Códigos de ejemplo:
DataFrame.plot.bar()
Consubplots=True
para crear subplots -
Códigos de ejemplo:
DataFrame.plot.bar()
para trazar una sola columna de datos -
Códigos de ejemplo:
DataFrame.plot.bar()
Con los colores especificados
La función Pandas Python DataFrame.plot.bar()
traza un gráfico de barras a lo largo del eje especificado. Grafica el gráfico en categorías. Las categorías se dan en el eje x y los valores se dan en el eje y.
Sintaxis de pandas.DataFrame.plot.bar()
DataFrame.sample(x=None, y=None, **kwds)
Parámetros
x |
Este es el eje en el que se trazarán las categorías. Si no se especifica, entonces se utiliza el índice del DataFrame . |
y |
Representa los valores que se grafican contra las categorías. Si no se especifica, entonces traza todas las columnas numéricas del DataFrame contra las categorías. |
**kwds |
Estos son los argumentos de palabras clave adicionales para personalizar el gráfico trazado. Puedes comprobarlo aquí. |
Retorna
Devuelve un array N-dimensional. Si subplots = True
, entonces devuelve un array de N-dimensiones con matplotlib.axes.Axes
por columna.
Códigos de ejemplo: DataFrame.plot.bar()
Primero entendamos esta función usando un simple DataFrame
.
import pandas as pd
dataframe = pd.DataFrame({'Value':[100, 200, 300]})
print(dataframe)
Nuestro DataFrame
parece
Value
0 100
1 200
2 300
Todos los parámetros de esta función son opcionales. Si ejecutamos esta función sin pasar ningún parámetro, entonces toma el índice como eje x y las columnas de datos numéricos como eje y.
import pandas as pd
import matplotlib.pyplot as plt
dataframe = pd.DataFrame({"Value": [100, 200, 300]})
axis = dataframe.plot.bar(rot=0)
print(axis)
plt.show()
Resultado:
AxesSubplot(0.125,0.125;0.775x0.755)
El parámetro rot
es un parámetro de palabra clave adicional. Cambia la rotación de los nombres de las categorías en el eje x.
El gráfico se verá como abajo si no ponemos rot
.
Códigos de ejemplo: DataFrame.plot.bar()
Con múltiples columnas de datos
Ahora, cambiaremos nuestro DataFrame
por uno complejo.
import pandas as pd
dataframe = pd.DataFrame(
{
"Age": [23, 17, 40, 38, 24, 12, 45],
"Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
},
index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
print(dataframe)
Nuestro DataFrame
parece
Age Avg Age in Family
Olivia 23 70
John 17 65
Laura 40 80
Ben 38 55
Kevin 24 60
Robin 12 63
Elsa 45 90
Traza este DataFrame
usando la función DataFrame.plot.bar()
.
import pandas as pd
import matplotlib.pyplot as plt
dataframe = pd.DataFrame(
{
"Age": [23, 17, 40, 38, 24, 12, 45],
"Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
},
index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0)
print(axis)
plt.show()
Resultado:
AxesSubplot(0.125,0.125;0.775x0.755)
Genera un gráfico de barras que contiene dos barras de datos numéricos de cada categoría. Ayuda a analizar los datos de manera eficiente.
Códigos de ejemplo: DataFrame.plot.bar()
Con subplots=True
para crear subplots
Si subplots=True
, entonces la función devuelve un array N-dimensional con matplotlib.axes.Axes
por columna. Usando esto, podemos separar nuestras columnas de datos en diferentes subtramas en lugar de una sola.
import pandas as pd
import matplotlib.pyplot as plt
dataframe = pd.DataFrame(
{
"Age": [23, 17, 40, 38, 24, 12, 45],
"Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
},
index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axes = dataframe.plot.bar(rot=0, subplots=True)
print(axes)
plt.show()
Resultado:
[<matplotlib.axes._subplots.AxesSubplot object at 0x0000029A89B06DC8>
<matplotlib.axes._subplots.AxesSubplot object at 0x0000029A89B4B2C8>]
Códigos de ejemplo: DataFrame.plot.bar()
para trazar una sola columna de datos
import pandas as pd
import matplotlib.pyplot as plt
dataframe = pd.DataFrame(
{
"Age": [23, 17, 40, 38, 24, 12, 45],
"Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
},
index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(y="Age", rot=0)
print(axis)
plt.show()
Resultado:
AxesSubplot(0.125,0.125;0.775x0.755)
También podemos graficar cualquier columna de datos contra otras columnas en lugar de trazar índices como categorías.
import pandas as pd
import matplotlib.pyplot as plt
dataframe = pd.DataFrame(
{
"Age": [23, 17, 40, 38, 24, 12, 45],
"Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
},
index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(x="Age", rot=0)
print(axis)
plt.show()
Resultado:
AxesSubplot(0.125,0.125;0.775x0.755)
Códigos de ejemplo: DataFrame.plot.bar()
Con los colores especificados
import pandas as pd
import matplotlib.pyplot as plt
dataframe = pd.DataFrame(
{
"Age": [23, 17, 40, 38, 24, 12, 45],
"Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
},
index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0, color="m")
plt.show()
Especifica el color m
para todas las columnas del DataFrame
.
import pandas as pd
import matplotlib.pyplot as plt
dataframe = pd.DataFrame(
{
"Age": [23, 17, 40, 38, 24, 12, 45],
"Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
},
index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0, color=["r", "b"])
print(axis)
plt.show()
También podríamos especificar diferentes colores para diferentes columnas en el DataFrame
dando una lista de colores al parámetro color
.
Artículo relacionado - Pandas DataFrame
- Función Pandas DataFrame sort_index()
- Función Pandas DataFrame.idxmax()
- Función Pandas DataFrame.insert()
- Función Pandas DataFrame.resample()
- Función Pandas DataFrame.reset_index()
- Función Pandas DataFrame.rolling()