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