@JuanG …one more question please…when I applied the update function to my code I got this error :
the code :
import plotly.express as px
import pandas as pd
data = {'x': [1.5, 1.6, -1.2],
'y': [21, -16, 46],
'circle-size': [10, 5, 6],
'circle-color': ["red","red","green"],
'tttt': ["ggg","vvvv","rrrr"],
}
# Create DataFrame
df = pd.DataFrame(data)
fig = px.scatter(
df,
x="x",
y="y",
color="circle-color",
size='circle-size',
hover_name="tttt",
color_discrete_map={"red": "red", "green": "green"}
)
fig.update_layout(
{
'yaxis': {
"range": [-100, 100],
'zerolinewidth': 2,
"zerolinecolor": "red",
"tick0": -100,
"dtick": 25,
},
'xaxis': {
"range": [-100, 100],
'zerolinewidth': 20,
"zerolinecolor": "black",
"tick0": -100,
"dtick": 25,
# "scaleanchor": 'y'
},
"height": 800
}
)
fig.update_traces(textposition='middle right', textfont_size=14, textfont_color='black', textfont_family="Inter", hoverinfo="skip", hovertemplate=None, hoverlabel_bgcolor="white", hoverlabel_font_color="black", hoverlabel_font_family="Inter", hoverlabel_font_size=12)
fig.add_scatter(
x=[0, 0, -100, -100],
y=[0, 100, 100, 0],
fill="toself",
fillcolor="rgba(37, 227, 95, 0.5)",
zorder=-1,
mode="markers",
marker_color="rgba(0,0,0,0)",
showlegend=False,
hoverinfo="skip"
)
newnames = {'red':'hi', 'green': 'hello'}
fig.for_each_trace(lambda t: t.update(name = newnames[t.name],
legendgroup = newnames[t.name],
hovertemplate = t.hovertemplate.replace(t.name, newnames[t.name])
)
)
fig
error :
line 65, in
hovertemplate = t.hovertemplate.replace(t.name, newnames[t.name])
^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'replace'
is it normal ?