Python Plotly – ¿Cómo personalizar la leyenda?

En plotly, podemos personalizar la leyenda cambiando el orden, cambiando la orientación, podemos ocultar o mostrar la leyenda y otras modificaciones como aumentar el tamaño, cambiar la fuente y el color de la leyenda. En este artículo veamos las diferentes formas en las que podemos personalizar la leyenda.

Para personalizar la leyenda usamos el método update_layout().

Sintaxis: update_layout(dict1=Ninguno, sobrescribir=Falso, **kwargs)

Los valores en los argumentos de palabra clave / dict de entrada se utilizan para alterar iterativamente las partes del diseño original.

Parámetros:

  • dict1 (dict) – Para ser actualizado es un diccionario de propiedades.
  • overwrite (bool): si es True, se sobrescribirán las propiedades existentes. Si es False, aplica actualizaciones recursivamente a las propiedades existentes, conservando las propiedades que no se especifican en la operación de actualización.
  • kwargs: se actualizará un par de propiedades de palabra clave/valor.

Ejemplo 1: Mostrar y ocultar leyenda

Leyenda oculta : en el siguiente código, importamos el paquete plotly.express y el paquete pandas. Se importa el archivo CSV, se muestra un diagrama de dispersión, el método update_layout() modifica aún más el diagrama y el parámetro showlegend se establece en False. 

Para acceder al archivo CSV, haga clic en iris

Python3

#import packages
import plotly.express as px
import pandas as pd
  
# importing csv file
df = pd.read_csv("iris.csv")
  
# scatter plot using plotly
fig = px.scatter(df, x="sepal_length",
                 y="sepal_width", 
                 color="species")
  
# initializing showlegend to "False"
fig.update_layout(showlegend=False)
  
fig.show()

Salida: La leyenda no se muestra.

Por defecto, el parámetro showlegend es verdadero. Cuando dibujamos una trama en plotly, la leyenda siempre se muestra.

Python3

# import packages
import plotly.express as px
import pandas as pd
  
# importing csv file
df = pd.read_csv("iris.csv")
  
# scatter plot using plotly
fig = px.scatter(df, x="sepal_length", 
                 y="sepal_width", 
                 color="species")
  
fig.show()

Producción:

Ejemplo 2: Cambiar el orden de la leyenda

En el siguiente código, introducimos un nuevo parámetro, legend_traceorder, e inicializar es «invertido», el orden de la leyenda se invierte al hacerlo.

Python3

# import packages
import plotly.express as px
import pandas as pd
  
# importing csv file
df = pd.read_csv("iris.csv")
  
# scatter plot using plotly
fig = px.scatter(df, x="sepal_length",
                 y="sepal_width",
                 color="species")
  
# order of legend is reversed
fig.update_layout(legend_traceorder="reversed")
  
fig.show()

Producción:

Antes de cambiar el orden:

Después de cambiar el orden:

El orden setosa, versicolor, verginica se cambia a virginica, versicolor, setosa.

Ejemplo 3: Cambio de orientación de la leyenda

Para una leyenda horizontal, establezca el atributo layout.legend.orientation en «h». También lo colocamos sobre el área de trazado aquí. Generalmente, la leyenda se muestra verticalmente.

Python3

# import packages
import plotly.express as px
import pandas as pd
  
# importing csv file
df = pd.read_csv("iris.csv")
  
# scatter plot using plotly
fig = px.scatter(df, x="sepal_length",
                 y="sepal_width", 
                 color="species")
  
# changing orientation of the legend
fig.update_layout(legend=dict(
    orientation="h",
  
))
fig.show()

Producción:

Ejemplo 4: cambio de tamaño, fuente y color de la leyenda

En este ejemplo, se introducen muchos otros parámetros, como title_font_family, font donde se especifica un diccionario de subparámetros para el estilo, bgcolor que es el color de fondo, el color del borde y el ancho del borde. 

Python3

# import packages
import plotly.express as px
import pandas as pd
  
# importing csv file
df = pd.read_csv("iris.csv")
  
# scatter plot using plotly
fig = px.scatter(df, x="sepal_length",
                 y="sepal_width",
                 color="species")
  
# adding different style parameters to the legend
fig.update_layout(
    legend=dict(
        x=0,
        y=1,
        title_font_family="Times New Roman",
        font=dict(
            family="Courier",
            size=12,
            color="black"
        ),
        bgcolor="LightBlue",
        bordercolor="Black",
        borderwidth=1
    )
)
fig.show()

Producción:

Publicación traducida automáticamente

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