Mute/deactivate Holoviews Overlay 中 default/programmatically 的某些数据系列
Mute/deactivate certain data series by default/programmatically in Holoviews Overlay
我在 Jupyter 笔记本中使用 hv.Overlay
和 hv.Curve
在同一轴上绘制多条(许多)曲线。在生成的图中,我主要对一些曲线感兴趣。为了突出显示,我可以通过单击相应的图例项(如下图所示)来停用所有曲线,但只有少数曲线。
问题:有没有办法以编程方式执行此操作,以便生成的绘图默认停用某些数据系列?我在想一些与 hv.Curve(..., active=False)
类似的事情。我不认为较浅的颜色是一种选择,因为我仍然希望有可能激活任何给定的数据系列。
import holoviews as hv
import pandas as pd
import numpy as np
np.random.seed(2)
df = pd.DataFrame({"x": sorted(list(range(9)) * 3),
"key": ["a", "b", "c"] * 9,
"val": np.random.randn(27)})
hv.Overlay([hv.Curve(df.query("key == @key"), "x", "val", label=key)
for key in df.key.unique()])
目标输出:
如果我对问题的理解正确,使用 muted
选项应该可以解决问题:
hv.Overlay([hv.Curve(df.query("key == @key"), "x", "val",label=key).opts(muted = False if key == "a" else True)
for key in df.key.unique()])
我在 Jupyter 笔记本中使用 hv.Overlay
和 hv.Curve
在同一轴上绘制多条(许多)曲线。在生成的图中,我主要对一些曲线感兴趣。为了突出显示,我可以通过单击相应的图例项(如下图所示)来停用所有曲线,但只有少数曲线。
问题:有没有办法以编程方式执行此操作,以便生成的绘图默认停用某些数据系列?我在想一些与 hv.Curve(..., active=False)
类似的事情。我不认为较浅的颜色是一种选择,因为我仍然希望有可能激活任何给定的数据系列。
import holoviews as hv
import pandas as pd
import numpy as np
np.random.seed(2)
df = pd.DataFrame({"x": sorted(list(range(9)) * 3),
"key": ["a", "b", "c"] * 9,
"val": np.random.randn(27)})
hv.Overlay([hv.Curve(df.query("key == @key"), "x", "val", label=key)
for key in df.key.unique()])
目标输出:
如果我对问题的理解正确,使用 muted
选项应该可以解决问题:
hv.Overlay([hv.Curve(df.query("key == @key"), "x", "val",label=key).opts(muted = False if key == "a" else True)
for key in df.key.unique()])