更改以图形方式表示的树形图的悬停文本

时间:2020-07-15 19:25:52

标签: python plotly plotly-python plotly-express

我想在树形图中仅显示每个项目的标签和值,而不是父项或ID。我用plotly express定义了它。无论我做了多少修改,都无法将悬停文本限制在所需的字段中。检查代码并捕获

import plotly.express as px

fig = px.treemap(dfconcepto, path=['type','name'], 
                 values = 'count',
                 width=900, height=900,
                 hover_data = ['count'],
)

fig.show()

image
image
1117×957 44.9 KB 我也试图用非表达树形图来创建它。 Hovertext是我想要的,但是然后将具有两个级别的树图呈现为不对称。

enter image description here

我想要的是类似于非表达树形图的悬浮文本,但是像表达树形图那样平衡且对称

我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:5)

在我看来,您应该覆盖悬停模板

import pandas as pd
import plotly.express as px
url = "https://gist.githubusercontent.com/jlchulilla/3b4e40f68ba73b5dbcb661a1d861f308/raw/e564973db30a4612aba60c5b26dd108edc98f048/test2sof.csv"

df = pd.read_csv(url).drop("Unnamed: 0", axis=1)

fig = px.treemap(df, path=['type','name'], 
                 values = 'coincidencia',
                 width=900, height=900,
)

# Now your hovertemplate looks like
# fig.data[0].hovertemplate 
# 'labels=%{label}<br>coincidencia=%{value}<br>parent=%{parent}<br>id=%{id}<extra></extra>'

# But it seems to me you want something like
fig.data[0].hovertemplate = '%{label}<br>%{value}'
fig.show()