Seaborn – Diagrama de burbujas

matplotlib pandas

Los diagramas de burbujas son diagramas de dispersión (círculos rellenos de color) en lugar de focos de información. Las burbujas tienen varios tamaños que dependen de otra variable en los datos. Del mismo modo, las burbujas pueden ser de varios colores dependiendo de otra variable en el conjunto de datos.

Carguemos el módulo requerido y los datos de Iris simplificados como un marco de datos de Pandas:

Python3

# import all important libraries
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
  
# load dataset
data= "https://gist.githubusercontent.com/netj/8836201/raw/6f9306ad21398ea43cba4f7d537619d0e07d5ae3/iris.csv"
  
# convert to dataframe
df = pd.read_csv(data)
  
# display top most rows
df.head()

Producción:

 

Gráfico de dispersión con Seaborn:

Como se indicó anteriormente, la burbuja es una forma única de diagrama de dispersión con burbujas en lugar de puntos de hechos simples en el diagrama de dispersión. Primero hagamos un diagrama de dispersión simple usando la función scatterplot() de Seaborn .

Python3

# import all important libraries
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
  
# load dataset
data = "https://gist.githubusercontent.com/netj/8836201/raw/6f9306ad21398ea43cba4f7d537619d0e07d5ae3/iris.csv"
  
# convert to dataframe
df = pd.read_csv(data)
  
# display top most rows
df.head()
  
# depict scatterplot illustration
sns.set_context("talk", font_scale=1.1)
plt.figure(figsize=(8, 6))
sns.scatterplot(x="sepal.length",
                y="sepal.width",
                data=df)
  
# assign labels
plt.xlabel("Sepal.Length")
plt.ylabel("sepal.width")

Producción:

Diagrama de burbujas con diagrama de dispersión de Seaborn():

Para hacer un diagrama de burbujas en Seaborn , podemos usar la función scatterplot() en Seaborn con un argumento de tamaño de especificación variable además de las variables de los ejes x e y para el diagrama de dispersión.

En esta instancia de gráfico de burbujas, tenemos length= ”body_mass_g” . Y esto creará un gráfico de burbujas con tamaños de burbujas únicos basados ​​en la variable de longitud del cuerpo.

Python3

# import all important libraries
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
  
# load dataset
data = "https://gist.githubusercontent.com/netj/8836201/raw/6f9306ad21398ea43cba4f7d537619d0e07d5ae3/iris.csv"
  
# convert to dataframe
df = pd.read_csv(data)
  
# display top most rows
df.head()
  
# depict scatter plot illustration
sns.set_context("talk", font_scale=1.1)
plt.figure(figsize=(10, 6))
sns.scatterplot(x="petal.length",
                y="petal.width",
                data=df)
# Put the legend out of the figure
plt.legend(bbox_to_anchor=(1.01, 1), borderaxespad=0)
plt.xlabel("petal.length")
plt.ylabel("petal.width")
plt.tight_layout()
plt.savefig("Bubble_plot_Seaborn_scatterplot.png",
            format='png', dpi=150)

Producción:

El siguiente ejemplo muestra un gráfico de burbujas con burbujas de colores:

Python3

# import all important libraries
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
  
# load dataset
data= "https://gist.githubusercontent.com/netj/8836201/raw/6f9306ad21398ea43cba4f7d537619d0e07d5ae3/iris.csv"
  
# convert to dataframe
df = pd.read_csv(data)
  
# display top most rows
df.head()
  
# depict bubble plot illustration
sns.set_context("talk", font_scale=1.2)
plt.figure(figsize=(10,6))
sns.scatterplot(x='petal.length',  
               y='petal.width',
               sizes=(20,500),
               alpha=0.5,
               data= df)
# Put the legend out of the figure
plt.legend(bbox_to_anchor=(1.01, 1),borderaxespad=0)
  
# assign labels
plt.xlabel("Sepal.length")
plt.ylabel("Sepal.width")
  
# assign title
plt.title("Bubble plot in Seaborn")
  
# adjust layout
plt.tight_layout()

Producción:

Gráfica de burbujas con rangos de tamaño explícitos Gráfica de dispersión de Seaborn()

Podemos alterar el gráfico de burbujas de aire realizado con Seaborn sin ningún problema. Algo que notamos en el gráfico de burbujas anterior es que el rango de tamaño de la burbuja es, en general, pequeño. Será extraordinario si pudiéramos diferenciar los tamaños de burbuja más pequeños y más grandes.  

Con los tamaños de contención en el trabajo de diagrama de dispersión() de Seaborn , podemos indicar rangos para los tamaños de las burbujas. En este modelo de parcela de bolsa de aire debajo, utilizamos tamaños = (20,500).

Python3

# import all important libraries
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
  
# load dataset
data = "https://gist.githubusercontent.com/netj/8836201/raw/6f9306ad21398ea43cba4f7d537619d0e07d5ae3/iris.csv"
  
# convert to dataframe
df = pd.read_csv(data)
  
# display top most rows
df.head()
  
# depict bubble plot illustration
sns.set_context("talk", font_scale=1.2)
plt.figure(figsize=(10, 6))
sns.scatterplot(x='sepal.length',
                y='sepal.width',
                # size="body_mass_g",
                sizes=(20, 500),
                alpha=0.5,
                hue='variety',
                data=df)
  
# Put the legend out of the figure
plt.legend(bbox_to_anchor=(1.01, 1), borderaxespad=0)
  
# Put the legend out of the figure
plt.xlabel("sepal.length")
plt.ylabel("sepal.width")
plt.title("Bubble plot with Colors in Seaborn")
plt.tight_layout()

Producción:

Actualmente, nuestro gráfico de burbujas se ve mucho mejor con la burbuja más baja en comparación con el peso más bajo y la burbuja más grande se relaciona con el peso más grande. Cuando tenga más factores en los datos, podemos sombrear la burbuja por el cuarto factor. Para colorear el gráfico de burbujas por una variable, determinamos la contención de tonos .

Publicación traducida automáticamente

Artículo escrito por ritikkumartiwari 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 *