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 *