plotly中选择工具增加transparency/contrast

Increase transparency/contrast for selection tool in plotly

我正在生产一些 scatter matrix plots with Plotly。考虑这个 MWE

import pandas
import numpy as np
import plotly.express as px

x = np.random.rand(5555)
df = pandas.DataFrame(
    {
        'x': x,
        'a': x + np.random.rand(len(x)),
        'b': x**3 + np.random.rand(len(x)),
    }
)

px.scatter_matrix(
    df,
).show()

生成此图:

现在,如果我在绘图中使用 lazo 选择工具,选定的点会突出显示,而非选定的点会获得一些透明度:

问题是点太多了,不容易看出区别。是否可以增加未选中点的透明度?最后我很乐意将透明度设置为 100%,这样它们就会完全消失。

我在这里找到了一些有用的信息:Extracting plotly.express selection in JupyterLab

基本上你所要做的就是使你的图形对象可用并更新你的图形对象(在 scatter_matrix 的情况下是 go.Splom):

scatter = px.scatter_matrix(df)
scatter.data[0].update(selected=dict(marker=dict(color='red')),
                       unselected=dict(marker=dict(color='blue',
                                                   opacity=0.001)))

我没能通过将不透明度设置为 0 来使未选中的颜色完全透明,但我相信您找到了一种方法,例如将颜色设置为背景色或其他颜色。


编辑:也许是草率的解决方案,但您可以简单地将不透明度设置为 0.001 以使未选中的点完全消失