绘制悬停数据和悬停文本
Plotly hover data and hover text
我的输入:
df=(pd.DataFrame({'label_color':['white','white','cyan','cyan','cyan','cyan','white','white'],
'label_quality':['white','white','red','green','green','red','white','white'],
'label':['foo','foo','foo','foo','foo','foo','foo','foo']}))
我的代码:
df['color_value'] = 1
df['quality_value'] = 1
fig = px.bar(df, y=['color_value','quality_value'],
x=[1]*len(df),
orientation='h',
barmode='group',
template='plotly_white', hover_data=[df.index.values,df.label])
fig.data[0]['marker']['color'] = df['label_color'].tolist()
fig.data[1]['marker']['color'] = df['label_quality'].tolist()
fig.update_traces(marker_line_color='rgb(8,48,107)')
fig.update_layout(showlegend=False, yaxis_title='foo', xaxis_title='')
fig.show()
我的输出:
.
如您所见,我在条形图中创建了一些自定义绘图。现在我试着做一些“闪光”,但有点困惑。我 想要和期望 :我尝试在弹出窗口(悬停文本)中隐藏任何 x=1
、variable=quality_value
(即来自 x 和 y 轴的值)然后离开
自定义名称中只有来自 hover_data
的标签,不像现在(hover_data_0
和 label
)
您可以通过以下设置使用 fig.update_traces(hovertemplate)
:
fig.update_traces(hovertemplate = 'hover_data_0=%{customdata[0]}<br>label=%{customdata[1]}<extra></extra>')
地块 1:
完整代码:
import plotly.express as px
import plotly.graph_objects as go
import pandas as pd
df=(pd.DataFrame({'label_color':['white','white','cyan','cyan','cyan','cyan','white','white'],
'label_quality':['white','white','red','green','green','red','white','white'],
'label':['foo','foo','foo','foo','foo','foo','foo','foo']}))
df['color_value'] = 1
df['quality_value'] = 1
fig = px.bar(df, y=['color_value','quality_value'],
x=[1]*len(df),
orientation='h',
barmode='group',
template='plotly_white', hover_data=[df.index.values,df.label])
fig.data[0]['marker']['color'] = df['label_color'].tolist()
fig.data[1]['marker']['color'] = df['label_quality'].tolist()
fig.update_traces(marker_line_color='rgb(8,48,107)')
fig.update_layout(showlegend=False, yaxis_title='foo', xaxis_title='')
fig.update_traces(hovertemplate = 'hover_data_0=%{customdata[0]}<br>label=%{customdata[1]}<extra></extra>')
fig.show()
我的输入:
df=(pd.DataFrame({'label_color':['white','white','cyan','cyan','cyan','cyan','white','white'],
'label_quality':['white','white','red','green','green','red','white','white'],
'label':['foo','foo','foo','foo','foo','foo','foo','foo']}))
我的代码:
df['color_value'] = 1
df['quality_value'] = 1
fig = px.bar(df, y=['color_value','quality_value'],
x=[1]*len(df),
orientation='h',
barmode='group',
template='plotly_white', hover_data=[df.index.values,df.label])
fig.data[0]['marker']['color'] = df['label_color'].tolist()
fig.data[1]['marker']['color'] = df['label_quality'].tolist()
fig.update_traces(marker_line_color='rgb(8,48,107)')
fig.update_layout(showlegend=False, yaxis_title='foo', xaxis_title='')
fig.show()
我的输出:
如您所见,我在条形图中创建了一些自定义绘图。现在我试着做一些“闪光”,但有点困惑。我 想要和期望 :我尝试在弹出窗口(悬停文本)中隐藏任何 x=1
、variable=quality_value
(即来自 x 和 y 轴的值)然后离开
自定义名称中只有来自 hover_data
的标签,不像现在(hover_data_0
和 label
)
您可以通过以下设置使用 fig.update_traces(hovertemplate)
:
fig.update_traces(hovertemplate = 'hover_data_0=%{customdata[0]}<br>label=%{customdata[1]}<extra></extra>')
地块 1:
完整代码:
import plotly.express as px
import plotly.graph_objects as go
import pandas as pd
df=(pd.DataFrame({'label_color':['white','white','cyan','cyan','cyan','cyan','white','white'],
'label_quality':['white','white','red','green','green','red','white','white'],
'label':['foo','foo','foo','foo','foo','foo','foo','foo']}))
df['color_value'] = 1
df['quality_value'] = 1
fig = px.bar(df, y=['color_value','quality_value'],
x=[1]*len(df),
orientation='h',
barmode='group',
template='plotly_white', hover_data=[df.index.values,df.label])
fig.data[0]['marker']['color'] = df['label_color'].tolist()
fig.data[1]['marker']['color'] = df['label_quality'].tolist()
fig.update_traces(marker_line_color='rgb(8,48,107)')
fig.update_layout(showlegend=False, yaxis_title='foo', xaxis_title='')
fig.update_traces(hovertemplate = 'hover_data_0=%{customdata[0]}<br>label=%{customdata[1]}<extra></extra>')
fig.show()