Je joue avec des exemples de plotly.express page d'aide de morcea et j'essaye d'ajouter un élément supplémentaire iso_num
à la propriété hover_data (iso_num
est une colonne int64 dans le dataframe gapminder)
import plotly.express as px
df = px.data.gapminder().query("year == 2007").query("continent == 'Americas'")
fig = px.pie(df, values='pop', names='country',
title='Population of American continent',
hover_data=['lifeExp','iso_num'], labels={'lifeExp':'life expectancy','iso_num':'iso num'
})
fig.update_traces(textposition='inside', textinfo='percent+label')
fig.show()
Le survol de la tranche du graphique à secteurs donne alors ceci:
où iso num
La valeur est %{customdata[1]}
au lieu de la valeur numérique de la colonne.
Qu'est-ce que je rate?
Merci!
J'ai également trouvé un moyen de le faire avec le graphique à secteurs Plotly Express. Vous pouvez utiliser update_traces
définir hover_template
. Il semble qu'il y ait un problème avec le fractionnement sur plusieurs valeurs pour hover_data
/custom_data
et toutes les valeurs sont présentes uniquement à l'index 0, c'est-à-dire que les deux valeurs sont à customdata[0]
.
import plotly.express as px
df = px.data.gapminder().query("year == 2007").query("continent == 'Americas'")
fig = px.pie(df, values='pop', names='country',
title='Population of American continent',
custom_data=['lifeExp','iso_num'], labels={'lifeExp':'life expectancy','iso_num':'iso num'
})
fig.update_traces(textposition='inside', textinfo='percent+label',\
hovertemplate = "Country:%{label}: <br>Population: %{value} </br>(life expentancy, iso num) : %{customdata}"
)
fig.show()
En vol stationnaire: