悬停时仅显示一行,隐藏所有其他行

banderlog013

当我悬停单个线条时,有没有办法隐藏图形上的所有其他线条?

例子:

import numpy as np
import plotly.express as px

np.random.seed(42)
data = np.random.randint(0, 10, (5, 10))
fig = px.line(data_frame=pd.DataFrame(data))

fig.show()

将产生:

在此处输入图片说明

我想要这个,当我悬停特定行时(但没有手动关闭所有其他行并保持 X、Y 轴变暗):

在此处输入图片说明

UPD:在 jupyter 笔记本中

It_is_Chris
import plotly.graph_objects as go
import numpy as np
import pandas as pd

# callback function for on_hover
def hide_traces_on_hover(trace, points, selector):
    if len(points.point_inds)==1: # identify hover
        i = points.trace_index # get the index of the hovered trace
        f.data[i].visible = True # keep the hovered trace visible
        # create a list of traces you want to hide
        hide_traces = [l_trace for idx, l_trace in enumerate(f.data) if idx != i] 
        for l_trace in hide_traces: # iterate over hide_traces
            l_trace.visible = 'legendonly' # hide all remaining traces
    
# callback function to unhide traces on click
def unhide_traces_on_click(trace, points, selector):
    for l_trace in f.data:
        l_trace.visible = True
        
# your sample data frame
np.random.seed(42)
data = np.random.randint(0, 10, (5, 10))
df = pd.DataFrame(data)

f = go.FigureWidget() # create figure widget

f.update_yaxes(autorange=False) # set auto range to false
# define the range of the y-axis using min and max functions
f.update_layout(yaxis_range=[df.values.min()-1, df.values.max()+1])

# create your traces from the data frame
for col in df.columns:
    trace = go.Scatter(x=df.index, y=df[col], mode='lines+markers')
    f.add_trace(trace)

# assign your functions to each trace
for trace in f.data:
    trace.on_hover(hide_traces_on_hover)
    trace.on_click(unhide_traces_on_click)

f

如果你碰到的问题,这里是jupyter笔记本支持文档使用FigureWidget和这里是jupyter实验室支持文档确保您已ipywidgets安装软件包。另外,仅供参考,这里是FigureWidget 文档

当您将鼠标悬停在图表中的标记上时。

在此处输入图片说明

当您单击可见迹线的任何标记时,所有隐藏的迹线都将再次可见。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

仅显示路径上的一个组件并隐藏所有其他组件

显示内容并隐藏所有其他相关对象

隐藏所有其他具有相同类的行,但单击的除外

单击一个子元素时如何隐藏所有其他元素

用一行代码隐藏所有自动筛选下拉列表

JavaScript for循环,带有if和if语句,以仅显示当前项,并隐藏所有其他项

单击相应的菜单项时如何显示/隐藏内容的一部分,同时隐藏所有其他内容?

隐藏所有行并显示所选内容

如何隐藏所有未突出显示的行?

Vimdiff-如何在两个文件中隐藏所有相同的行并仅显示不同的行

打开一个菜单时隐藏所有其他上下文菜单

悬停在一行上时,哪个plot.ly json属性使所有悬停数据得以显示

在 javascript 中显示元素 onclick 并隐藏所有其他元素

Angular JS-显示1 div并隐藏所有其他

GIMP图层仅在我隐藏所有其他图层时可见

Swagger 示例属性隐藏所有其他属性

在同一位置仅切换一个div元素(隐藏所有其他div)

如何控制所有文件扩展名或不控制其他目录?仅一行

隐藏所有ListObject行,但选定的行除外

隐藏所有div并在单击多个按钮时显示一个div

隐藏所有没有“ div”的表行

仅当第一行是其他下一行的子字符串时,才如何将DataFrame行与另一行平均

将第一行与所有其他行合并 大查询

删除第一行中的匹配字符和其他行中的所有字符

从文件读取到数组,但最后一行覆盖所有其他行

将每一行与所有其他行与熊猫进行比较

当表有多行与其他表中的单个记录相关时,如何显示一行?

Android - 如何在特定单元格中显示 ImageView 并隐藏所有其他单元格

在选定位置显示图像并在回收站视图中隐藏所有其他先前的图像