Introducción
Contenido
- 1 Introducción
- 2 Trazar una parcela de barras en Seaborn
- 3 Trazar un gráfico de barras horizontales en Seaborn
- 4 Cambiar el color del gráfico de barras en Seaborn
- 5 Parcela Parcela de barras agrupadas en Seaborn
- 6 Pedido de barras agrupadas en un diagrama de barras con Seaborn
- 7 Cambiar el intervalo de confianza en el gráfico de barras de Seaborn
- 8 Conclusión
Seaborn es una de las bibliotecas de visualización de datos más utilizadas en Python, como una extensión de Matplotlib. Ofrece una API simple, intuitiva pero altamente personalizable para la visualización de datos.
En este tutorial, veremos cómo trazar un gráfico de barras en Seaborn.
Los gráficos de barras muestran cantidades numéricas en un eje y variables categóricas en el otro, lo que le permite ver cuántas ocurrencias hay para las diferentes categorías.
Los gráficos de barras se pueden utilizar para visualizar una serie de tiempo, así como solo datos categóricos.
Trazar una parcela de barras en Seaborn
Trazar un gráfico de barras en Seaborn es tan fácil como llamar al barplot()
función en el sns
instancia, y pasando las variables categóricas y continuas que nos gustaría visualizar:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid')
x = ['A', 'B', 'C']
y = [1, 5, 3]
sns.barplot(x, y)
plt.show()
Aquí, tenemos algunas variables categóricas en una lista: A
, B
y C
. También tenemos un par de variables continuas en otra lista: 1
, 5
y 3
. La relación entre estos dos se visualiza luego en un gráfico de barras pasando estas dos listas a sns.barplot()
.
Esto da como resultado un gráfico de barras limpio y simple:
Aunque, la mayoría de las veces, trabajará con conjuntos de datos que contienen muchos más datos que estos. A veces, se aplican operaciones a estos datos, como medir o contar ciertas ocurrencias.
Te puede interesar:Gráfico de línea de Matplotlib: tutorial y ejemplosSiempre que esté tratando con medios de datos, tendrá algunos errores de relleno que pueden surgir de ellos. Afortunadamente, Seaborn nos tiene cubiertos y nos aplica barras de error automáticamente, ya que de forma predeterminada calcula la media de los datos que proporcionamos.
Importemos el conjunto de datos Titanic clásico y visualicemos un gráfico de barras con datos de allí:
import matplotlib.pyplot as plt
import seaborn as sns
# Set Seaborn style
sns.set_style('darkgrid')
# Import Data
titanic_dataset = sns.load_dataset("titanic")
# Construct plot
sns.barplot(x = "sex", y = "survived", data = titanic_dataset)
plt.show()
Esta vez, hemos asignado x
y y
al sex
y survived
columnas del conjunto de datos, en lugar de las listas codificadas.
Si imprimimos el encabezado del conjunto de datos:
print(titanic_dataset.head())
Somos recibidos con:
survived pclass sex age sibsp parch fare ...
0 0 3 male 22.0 1 0 7.2500 ...
1 1 1 female 38.0 1 0 71.2833 ...
2 1 3 female 26.0 0 0 7.9250 ...
3 1 1 female 35.0 1 0 53.1000 ...
4 0 3 male 35.0 0 0 8.0500 ...
[5 rows x 15 columns]
Asegúrese de hacer coincidir los nombres de estas funciones cuando asigne x
y y
variables.
Finalmente, usamos el data
argumento y pasar el conjunto de datos con el que estamos trabajando y del que se extraen las características. Esto resulta en:
Trazar un gráfico de barras horizontales en Seaborn
Para trazar un gráfico de barras horizontalmente, en lugar de verticalmente, simplemente podemos cambiar los lugares de la x
y y
variables.
Esto hará que la variable categórica se represente en el eje Y, lo que dará como resultado una gráfica horizontal:
import matplotlib.pyplot as plt
import seaborn as sns
x = ['A', 'B', 'C']
y = [1, 5, 3]
sns.barplot(y, x)
plt.show()
Esto resulta en:
Te puede interesar:Cómo trazar en línea y con Qt – Matplotlib con portátiles IPython / JupyterVolviendo al ejemplo del Titanic, esto se hace de la misma manera:
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "survived", y = "class", data = titanic_dataset)
plt.show()
Lo que resulta en:
Cambiar el color del gráfico de barras en Seaborn
Cambiar el color de las barras es bastante sencillo. los color
El argumento acepta un color Matplotlib y lo aplica a todos los elementos.
Vamos a cambiarlos a blue
:
import matplotlib.pyplot as plt
import seaborn as sns
x = ['A', 'B', 'C']
y = [1, 5, 3]
sns.barplot(x, y, color="blue")
plt.show()
Esto resulta en:
O, mejor aún, puede configurar el palette
argumento, que acepta una amplia variedad de paletas. Uno bastante común es hls
:
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "embark_town", y = "survived", palette="hls", data = titanic_dataset)
plt.show()
Esto resulta en:
Parcela Parcela de barras agrupadas en Seaborn
Agrupar barras en parcelas es una operación común. Supongamos que desea comparar algunos datos comunes, como la tasa de supervivencia de los pasajeros, pero le gustaría agruparlos con algunos criterios.
Podríamos querer visualizar la relación de los pasajeros que sobrevivieron, segregados en clases (primera, segunda y tercera), pero también factorizar en qué ciudad se embarcaron.
Te puede interesar:Cómo cambiar el fondo de la trama en MatplotlibEsta es una buena cantidad de información en un diagrama y se puede poner fácilmente en un diagrama de barras simple.
Para agrupar las barras, usamos el hue
argumento. Técnicamente, como su nombre lo indica, el hue
El argumento le dice a Seaborn cómo colorear las barras, pero en el proceso de colorear, agrupa datos relevantes.
Echemos un vistazo al ejemplo que acabamos de discutir:
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "class", y = "survived", hue = "embark_town", data = titanic_dataset)
plt.show()
Esto resulta en:
Ahora, las barras de error en los datos de Queenstown son bastante grandes. Esto indica que los datos sobre los pasajeros que sobrevivieron y se embarcaron desde Queenstown varían mucho para la primera y segunda clase.
Pedido de barras agrupadas en un diagrama de barras con Seaborn
Puede cambiar el orden de las barras del orden predeterminado (lo que sea que Seaborn crea que tiene más sentido) a algo que le gustaría resaltar o explorar.
Esto se hace a través del order
argumento, que acepta una lista de los valores y el orden en el que le gustaría ponerlos.
Por ejemplo, hasta ahora, ordenó las clases de la primera a la tercera. ¿Y si quisiéramos hacerlo al revés?
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "class", y = "survived", hue = "embark_town", order = ["Third", "Second", "First"], data = titanic_dataset)
plt.show()
Ejecutar este código da como resultado:
Te puede interesar:Trama de violín de Matplotlib – Tutorial y ejemplosCambiar el intervalo de confianza en el gráfico de barras de Seaborn
También puede manipular fácilmente el intervalo de confianza configurando el ci
argumento.
Por ejemplo, puede apagarlo configurándolo en None
o utilice la desviación estándar en lugar de la media estableciendo sd
, o incluso poner un tamaño de límite en las barras de error con fines estéticos configurando capsize
.
Juguemos un poco con el atributo de intervalo de confianza:
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "class", y = "survived", hue = "embark_town", ci = None, data = titanic_dataset)
plt.show()
Esto ahora elimina nuestras barras de error de antes:
O podríamos usar la desviación estándar para las barras de error y establecer un tamaño de límite:
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "class", y = "survived", hue = "who", ci = "sd", capsize = 0.1, data = titanic_dataset)
plt.show()
Conclusión
En este tutorial, hemos repasado varias formas de trazar un gráfico de barras usando Seaborn y Python. Comenzamos con gráficos simples y gráficos horizontales, y luego continuamos personalizándolos.
Hemos cubierto cómo cambiar los colores de las barras, agruparlas, ordenarlas y cambiar el intervalo de confianza.
Si está interesado en la visualización de datos y no sabe por dónde empezar, asegúrese de consultar nuestro libro sobre Visualización de datos en Python.
Te puede interesar:Python: comprobar el índice de un elemento en una listaData Visualization in Python, un libro para desarrolladores de Python principiantes e intermedios, lo guiará a través de la manipulación simple de datos con Pandas, cubrirá bibliotecas de trazado centrales como Matplotlib y Seaborn, y le mostrará cómo aprovechar las bibliotecas declarativas y experimentales como Altair.
Visualización de datos en Python
¡Comprenda mejor sus datos con visualizaciones! Con 340 páginas, aprenderá los entresijos de la visualización de datos en Python con bibliotecas populares como Matplotlib, Seaborn, Bokeh y más.
.