高密度图的链接数据选择点被遮挡

Linked data selection points obscured for high density plots

对于具有高数据密度的链接笔刷选择图,当在主图表中选择关联点时,通常不可能很好地(或根本)看到二级图表中的选定点。这只是因为它们经常被未选择的点遮挡。这甚至可以在某种程度上在 Altair 文档中的绑定、选择和条件示例图中看到。我指的是在图 X 上选择的点,这些点在图 Y 上突出显示了相关点。

不知道有没有什么办法可以自动把关联点带到'front'(顶部)?或者如果可以将不透明度(或点大小)设置为较低的选择数据,以便更加强调链接的选择点? alt.condition 命令似乎不接受这些选项。

无法根据选择更改一组点的 z 顺序。正如您所见,这会在使用条件颜色时导致次优结果,因为选定的点可能会被未选定的点遮挡。例如:

import altair as alt
from vega_datasets import data

selection = alt.selection_single(encodings=['color'])

alt.Chart(data.cars()).mark_circle(size=200).encode(
    x='Miles_per_Gallon',
    y='Horsepower',
    color=alt.condition(selection, 'Origin:N', alt.value('lightgray'))
).add_selection(selection)

在这种情况下,一个有用的解决方法是同时绘制背景点和前景点,并使用不透明度条件而不是颜色:然后所选点始终在前景中:

import altair as alt
from vega_datasets import data

selection = alt.selection_single(encodings=['color'])

background = alt.Chart(data.cars()).mark_circle(size=200).encode(
    x='Miles_per_Gallon',
    y='Horsepower',
    color=alt.value('lightgray')
)

foreground = background.encode(
    color='Origin:N',
    opacity=alt.condition(selection, alt.value(0.8), alt.value(0))
).add_selection(selection)

background + foreground