¿Cómo mostrar valores en Seaborn Barplot?

En este artículo, vamos a ver cómo mostrar valores en Seaborn Barplot usando Python.

Seaborn es un paquete de visualización de datos que se basa en matplotlib y permite a Seaborn múltiples funcionalidades de personalización en diferentes gráficos. En general, un gráfico de barras resume los datos categóricos como barras rectangulares cuya altura es proporcional a los valores de las barras correspondientes. La biblioteca Seaborn proporciona un método llamado Barplot() que se carga con más de 10 parámetros que permiten trazar un gráfico de barras que satisface la mayoría de los requisitos. En este blog, analicemos cómo mostrar los valores de las barras en la parte superior del diagrama de barras marino.

Sintaxis: seaborn.barplot(data, x=Ninguno, y=Ninguno, hue=Ninguno, data=Ninguno, order=Ninguno, orient=Ninguno, color=Ninguno, palette=Ninguno, saturation=0.75,errwidth)

Parámetros:

  • datos: especifica el marco de datos que se utilizará para trazar barras
  • x, y: especifica los datos que se utilizarán a lo largo del eje x y el eje y. (datos de formato largo)
  • orden: especifica el orden en el que se deben trazar los valores categóricos
  • orient – ​​’v’ especifica la orientación vertical y ‘h’ especifica la orientación horizontal
  • color:   especifica el degradado de color de todos los elementos
  • paleta: lista de colores que debe usarse para diferentes niveles
  • errwidth : especifica el ancho de la barra de error

Ejemplo 1:

Conjunto de datos utilizado: consejos

En el diagrama de barras marino con barra, los valores se pueden representar mediante la función sns.barplot() y los contenedores de submétodos devueltos por sns.barplot(). Importe paquetes pandas, numpy y seaborn. Lea el conjunto de datos usando la función pandas read_csv. Ahora, crea un diagrama de barras entre dos columnas, aquí, elijamos el eje x como tiempo y el eje y como sugerencia. Esto devolverá un gráfico de barra convencional. Este objeto de trazado se almacena en una variable. El objeto de trazado tiene un método llamado contenedores que enumeraría las propiedades de cada barra. Repita los elementos de la lista del objeto contenedor y pase cada elemento a la función bar_label. Esto extraerá y mostrará el valor de la barra en el gráfico de barras.

Python3

# import the necessary python packages
import pandas as pd
import seaborn as sns
import numpy as np
 
# read the dataset using pandas read_csv
# function
data = pd.read_csv(r"path to \tips.csv")
 
data.head()
 
# create a bar plot by specifying
# x and y axis and the data to be used.
ax = sns.barplot(x='time', y='tip',
                 hue='sex', data=data,
                 errwidth=0)
 
# sns.barplot method will return a list of
# sub methods use containers method to access
# the text label of each bar by passing it
# through the ax.bar_label function use for
# loop to iterate through the list of
# labels and assign each bar to a different
# label.
for i in ax.containers:
    ax.bar_label(i,)

Producción:

Gráfico de barras con valores de barras 

Ejemplo 2:

A diferencia del método anterior, el diagrama de barras Seaborn con valores de barras se puede trazar para diagramas de barras agrupados usando la función sns.barplot() y los mismos contenedores de submétodo devueltos por sns.barplot(). Importe paquetes pandas, NumPy y seaborn. Lea el conjunto de datos usando la función pandas read_csv. Ahora, cree un gráfico de barras a partir de un marco de datos agrupado aquí, elija el eje x como día y el eje y como factura total. Esto volverá a devolver un gráfico de barras convencional. Este objeto de trazado se almacena en una variable. El objeto de trazado tiene un método llamado contenedores que enumeraría las propiedades de cada barra. Ahora, pase el objeto contenedor a la función bar_label. Esto extraerá y mostrará el valor de la barra en el gráfico de barras.

Python3

# import the necessary python packages
import pandas as pd
import seaborn as sns
import numpy as np
 
# read the dataset using pandas read_csv
# function
data = pd.read_csv(r"path to\tips.csv")
 
# group the multi level categorical variables
# and reset_ the index to flatten the index
groupedvalues = data.groupby('day').sum().reset_index()
 
# use sns barplot to plot bar plot
# between days and tip value
ax = sns.barplot(x='day', y='tip',
                 data=groupedvalues,
                 errwidth=0)
 
# now simply assign the bar values to
# each bar by passing containers method
# to bar_label function
ax.bar_label(ax.containers[0])

Producción:

Gráfico de barras con valores de barras – marco de datos agrupado

Ejemplo 3:

Como se explicó anteriormente, importe los paquetes necesarios y lea los datos usando la función pandas read_csv(). Sum agrega los datos en función de la columna del día. Ahora, defina una lista de paletas de colores con el color de su deseo. La longitud de esta lista de paleta de colores debe corresponder a la longitud del marco de datos agrupado. Aquí, estamos interesados ​​en trazar un gráfico de barras entre el día y la columna total_bill. Entonces, argsort() la columna de factura total que ordenará la columna y devolverá el índice de la columna ordenada. Ahora, pase las columnas x, y, los datos que deben usarse para la función de gráfico de barras. Junto con esto, convierta el objeto de la paleta de colores en una array numpy y reorganice la array en función de los valores de argsort(). Pasar todos estos parámetros devolverá un diagrama de caja. objeto.

Python3

# import the necessary python packages
import pandas as pd
import seaborn as sns
import numpy as np
 
# read the dataset using pandas read_csv
# function
data = pd.read_csv(r"path to\tips.csv")
 
# group the multilevel categorical
# values and flatten the index
groupedvalues = data.groupby('day').sum().reset_index()
 
# define the color palette of different colors
pal = sns.color_palette("Greens_d", len(groupedvalues))
# use argsort method
rank = groupedvalues["total_bill"].argsort()
 
# use dataframe grouped by days to plot a
# bar chart between days and total bill
ax = sns.barplot(x='day', y='total_bill',
                 data=groupedvalues,
                 palette=np.array(pal[::-1])[rank])
 
# now use a for loop to iterate through
# each row of the grouped dataframe
# assign bar value  to each row
for index, row in groupedvalues.iterrows():
    ax.text(row.name, row.tip, round(row.total_bill, 2),
            color='white', ha='center')

Producción:

Gráfico de barras con valores de barras – marco de datos agrupado

Publicación traducida automáticamente

Artículo escrito por jssuriyakumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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