如何与 plotly.figure_factory 悬停互动?

How to interact with plotly.figure_factory hover?

我尝试了以下代码:

import plotly.io as pio
import plotly.express as px
import json
import pandas as pd
import plotly.graph_objects as go 
import plotly.figure_factory as ff
import plotly.express as px


df = px.data.carshare()

fig = go.Figure() 


app = dash.Dash()
#fac figurile
fig  = ff.create_hexbin_mapbox(df,lat = 'centroid_lat', lon = 'centroid_lon',nx_hexagon = 10,color = 'car_hours',
                               labels = {'color':'Point Count '},

                               opacity = 0.5)


fig.update_layout(mapbox_style="carto-darkmatter")
fig.update_layout(margin=dict(b=0, t=0, l=0, r=0))

fig.show()

它显示:

而且我想修改悬停,以便它在悬停时只显示浮点数和第一位小数,我还希望能够在显示值后显示一些内容。例如,悬停时的值应该是“Point Count = 1019.9 cars per hour”。不幸的是,文档并没有太大帮助。

在我看来,ff.create_hexbin_mapbox 的最佳选择是直接通过以下方式配置它:

fig.data[0].hovertemplate = 'Point Count =%{z:,.1f}<extra>Cars per hour</extra>'

哪个会变成这个:

...进入这个:

完整代码

import plotly.io as pio
import plotly.express as px
import json
import pandas as pd
import plotly.graph_objects as go 
import plotly.figure_factory as ff
import plotly.express as px


df = px.data.carshare()

fig = go.Figure() 


# app = dash.Dash()
#fac figurile
fig  = ff.create_hexbin_mapbox(df,lat = 'centroid_lat', lon = 'centroid_lon',nx_hexagon = 10,color = 'car_hours',
                               labels = {'color':'Point Count '},

                               opacity = 0.5)


fig.update_layout(mapbox_style="carto-darkmatter")
fig.update_layout(margin=dict(b=0, t=0, l=0, r=0))
fig.data[0].hovertemplate = 'Point Count =%{z:,.1f}<extra>Cars per hour</extra>'
fig.show()