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:
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:
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:
Publicación traducida automáticamente
Artículo escrito por jssuriyakumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA