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