Introducción
Contenido
Matplotlib es una de las bibliotecas de visualización de datos más utilizadas en Python. Gran parte de la popularidad de Matplotlib proviene de sus opciones de personalización: puede modificar casi cualquier elemento de su jerarquía de objetos.
En este tutorial, veremos cómo cambiar el tamaño del marcador en un diagrama de dispersión de Matplotlib.
Datos de importacion
Usaremos el Felicidad mundial conjunto de datos y compare el puntaje de felicidad con diferentes características para ver qué influye en la felicidad percibida en el mundo:
import pandas as pd
df = pd.read_csv('worldHappiness2019.csv')
Luego, podemos manipular fácilmente el tamaño de los marcadores utilizados para representar entradas en este conjunto de datos.
Te puede interesar:Gráfico de histograma de Matplotlib: tutorial y ejemplosCambiar el tamaño del marcador en el gráfico de dispersión de Matplotlib
Comencemos trazando el puntaje de generosidad contra el PIB per cápita:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('worldHappiness2019.csv')
fig, ax = plt.subplots(figsize=(10, 6))
ax.scatter(x = df['GDP per capita'], y = df['Generosity'])
plt.xlabel("GDP per Capita")
plt.ylabel("Generosity Score")
plt.show()
Esto resulta en:
Ahora, digamos que nos gustaría aumentar el tamaño de cada marcador, en función de la felicidad percibida de los habitantes de ese país. El puntaje de felicidad es una lista, que viene directamente del df
, por lo que esto también puede funcionar con otras listas.
Para cambiar el tamaño de los marcadores, usamos el s
argumento, por el scatter()
función. Esta sera la markersize
argumento para el plot()
función:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('worldHappiness2019.csv')
fig, ax = plt.subplots(figsize=(10, 6))
ax.scatter(x = df['GDP per capita'], y = df['Generosity'], s = df['Score']*10)
plt.xlabel("GDP per Capita")
plt.ylabel("Generosity Score")
plt.show()
También hemos multiplicado el valor de cada elemento de la lista por un número arbitrario de 25, porque están clasificados de 0..1
. Esto producirá marcadores realmente pequeños si los usamos en sus valores originales.
Esto ahora resulta en:
O mejor aún, en lugar de multiplicar todo crudamente por 25, dado que los valores son similares de todos modos, podemos hacer algo como esto:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('worldHappiness2019.csv')
size = df['Score'].to_numpy()
s = [3*s**2 for s in size]
fig, ax = plt.subplots(figsize=(10, 6))
ax.scatter(x = df['GDP per capita'], y = df['Generosity'], s = s)
plt.xlabel("GDP per Capita")
plt.ylabel("Generosity Score")
plt.show()
Es importante tener el s
enumerar la misma longitud que x
y y
, ya que cada valor de s
ahora se les aplica. Si la lista es más corta o más larga, el código se romperá.
Aquí, hemos extraído los valores del Score
columna, escalarlos y aplicar el tamaño de nuevo al diagrama de dispersión:
Establecer el tamaño del marcador global en el gráfico de dispersión de Matplotlib
Si desea separar el tamaño del marcador de alguna variable, y simplemente desea establecer un tamaño global estándar de marcadores en el diagrama de dispersión, simplemente puede pasar un valor único para s
:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('worldHappiness2019.csv')
fig, ax = plt.subplots(figsize=(10, 6))
ax.scatter(x = df['GDP per capita'], y = df['Generosity'], s = 100)
plt.xlabel("GDP per Capita")
plt.ylabel("Generosity Score")
plt.show()
Esto ahora resulta en:
Conclusión
En este tutorial, hemos repasado cómo cambiar el tamaño del marcador en un gráfico de dispersión de Matplotlib.
Te puede interesar:Gráfico de barras de Seaborn – Tutorial y ejemplosSi 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.
Te puede interesar:Gráfico de línea de Matplotlib: tutorial y ejemplos
.