如何移除Plotly Express中标记点悬停时显示的数值?
如何移除Plotly Express中标记点悬停时显示的数值?
嘿,我太懂你这烦恼了——折腾半天想把随机游走图里悬停标记时弹出的数值去掉,试了hoverinfo相关参数却没效果对吧?我之前玩Plotly的时候也踩过一模一样的坑,给你说几个关键的修正点:
首先你得注意,原来在update_traces里写的**hoverinfo="skip"是语法错误!**是用来展开字典参数的,单个参数直接传就行,加这个反而会出问题。而且光处理主散点图还不够,后面你手动加的起点、终点标记,默认也会显示悬停数值,得一起禁用才行。
我给你整理了修正后的完整代码,关键改动都标清楚了:
import plotly.express as px from random_walk import RandomWalk rw = RandomWalk() rw.fill_walk() title = "Random Walk" # 1. 初始化图表时直接禁用默认悬停数据 fig = px.scatter( x=rw.x_values, y=rw.y_values, title=title, labels={"x" : '', "y" : ''}, hover_data=False # 从根源上关掉初始悬停数据的生成 ) # 2. 修正update_traces的参数传递方式,设置hoverinfo="none" fig.update_traces( marker={ "size" : 2, "color" : list(range(rw.points)), "colorscale" : "Bluered", "showscale" : False }, hoverinfo="none" # 正确传递参数,去掉多余的** ) fig.update_xaxes(showticklabels=False) fig.update_yaxes(showticklabels=False) # 3. 给起点trace添加hoverinfo="none",禁用悬停显示 fig.add_scattergl( x=[0], y=[0], marker=dict(size=20, color="green"), name="start", hoverinfo="none" ) # 4. 给终点trace也加上hoverinfo="none" fig.add_scattergl( x=[rw.x_values[-1]], y=[rw.y_values[-1]], marker=dict(size=20, color="purple"), name="end", hoverinfo="none" ) fig.show()
简单说下为啥要这么改:
- 在
px.scatter里加hover_data=False,能让Plotly一开始就不生成默认的悬停数据,省得后面再去覆盖; - 主散点图用
hoverinfo="none"彻底禁用悬停显示; - 后面新增的起点、终点是独立的trace,默认会带悬停数值,所以必须单独给它们也加上
hoverinfo="none"。
这样改完之后,不管你悬停到哪个标记点,都不会再跳出那些烦人的数值啦~
内容来源于stack exchange
相关产品推荐
相关产品推荐

