Plotly:从 hoverlabel 中删除多余的空白 space

Plotly: Remove extra blank space from hoverlabel

import plotly.express as px

df = px.data.stocks()
fig = px.line(df, x='date', y=['GOOG','AAPL'])
fig.update_traces(hovertemplate=None)
fig.update_layout(hovermode='x unified', yaxis_title=None, xaxis=dict(title=None,
                                                                      tickformat='%b\n%Y',
                                                                      hoverformat='%d %b %Y'),
                 hoverlabel=dict(namelength=0))

使用此代码绘制图表上的悬停标签-

如您所见,悬停标签中的两条轨迹之间有空 space,而 date 和第一条轨迹之间没有那么多。如何删除空的 space?

我想要更像这样的东西-

好的,我想通了。必须传递痕迹,就好像它们在同一个图例组中一样。 space 可能存在,因为 plotly 计算它们属于不同的组。将 legendgroup = 'arbitrary_name' 添加到 fig.update_traces() 就可以了。

这是要复制的完整代码 -

import plotly.express as px

df = px.data.stocks()
fig = px.line(df, x='date', y=['GOOG','AAPL'])
fig.update_traces(hovertemplate=None, legendgroup='a')
fig.update_layout(hovermode='x unified', yaxis_title=None, xaxis=dict(title=None,
                                                                      tickformat='%b\n%Y',
                                                                      hoverformat='%d %b %Y'),
                 hoverlabel=dict(namelength=0))

注意:这也可以被利用,通过传递颜色与 bgcolor 匹配的轨迹(可能在框架外),在悬停标签中添加额外的 space。