Gráfico de barras de Seaborn – Tutorial y ejemplos

    Introducció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.

    Siempre 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:

    Volviendo 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.

    Esta 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:

    Cambiar 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 Noneo 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.

    Data 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.

    .

    Etiquetas:

    Deja una respuesta

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