【问题标题】:Plotly Express prevent text values from appearing in hover templatePlotly Express 防止文本值出现在悬停模板中
【发布时间】: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)

【问题讨论】:

    标签: plotly mousehover plotly.js plotly-express


    【解决方案1】:

    您可以将带有标签的 dict 传递给 hover_datatext=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}) 也可以使用
    猜你喜欢
    • 1970-01-01
    • 2014-12-30
    • 1970-01-01
    • 2020-06-29
    • 2021-07-30
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2016-10-30
    相关资源
    最近更新 更多