Plotly Express 防止文本值出现在悬停模板中
Posted
技术标签:
【中文标题】Plotly Express 防止文本值出现在悬停模板中【英文标题】:Plotly Express prevent text values from appearing in hover template 【发布时间】:2022-01-09 03:30:40 【问题描述】:如何防止下例中以text=df.petal_width.values
传递的文本值显示在悬停工具提示中?它们只能作为注释直接显示在图上。
import plotly.express as px
df = px.data.iris()
fig = px.scatter(
df,
x="sepal_length",
y="sepal_width",
color="species",
text=df.petal_width.values,
)
fig.show()
明确地说,我知道我可以传递text=df.petal_width
,并且工具提示值不会被称为text
,而是petal_width
。这不是我想要的。我希望它完全消失。到目前为止我发现的唯一方法是丑陋的:
hov_temp = [
x for x in fig.data[0].hovertemplate.split("<br>") if not x.startswith("text")
]
fig.data[0].hovertemplate = "<br>".join(hov_temp)
【问题讨论】:
【参考方案1】:您可以将带有标签的 dict 传递给 hover_data
和 text=df.petal_width
:
labels = 'species':True,'sepal_length':True,'sepal_width':True,'petal_length':False,'petal_width':False
fig = px.scatter(df,x='sepal_length',y='sepal_width',color='species',text=df.petal_width,hover_data=labels)
fig.show()
【讨论】:
完美,看来labels = 'petal_width': False
就够了。
text
也可以是列名。所以col='petal_width'
和px.scatter(...,text=col,hover_data=col:False)
也可以使用以上是关于Plotly Express 防止文本值出现在悬停模板中的主要内容,如果未能解决你的问题,请参考以下文章
在 Plotly Express 中删除自定义悬停卡右侧的颜色
单击时显示悬停而不是悬停在plotly python中的数据点上?