In this article let's see how to show legend in single-trace scatterplot with plotly express. A 'trace' is the name given to each plot inside the chart. Generally in plotly legend is not visible for single trace scatter plots.
Example:
In the below, example packages and data are imported and a single trace scatter plot is plotted using px.scatter(). fig.layout.showlegend= True doesn't work in this case so we need to enable showlegend by using this code fig['data'][0]['showlegend']=True. fig['data'][0]['name']='Humidity' says that name of the only variable in the legend is 'Humidity'.
To view and download the CSV file used click here.
# import packages and libraries
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
import plotly.express as px
# reading the dataset
df = pd.read_csv('weather.csv', encoding='UTF-8')
# creating a scatterplot
fig = px.scatter(df, x="Temperature", y='Humidity',
trendline='ols', trendline_color_override='red')
fig['data'][0]['showlegend'] = True
fig['data'][0]['name'] = 'Humidity'
fig.show()
Output:
Before setting legend
After setting legend.