Matplotlib: Cambiar el tama帽o del marcador del gr谩fico de dispersi贸n

    Introducci贸n

    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.

    Cambiar 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.

    Si 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.

    .

    Etiquetas:

    Deja una respuesta

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