キー列がユーザーがホバーしたデータポイントのクエリ列の要素の1つと一致するかどうかに基づいて、R plot_ly 散布図のポイントを強調表示したいと思います。キー フィールドにリストを入力することで、ポイント間に非相互的で階層的なハイライトを設定できることは知っています。キー フィールド内の要素が、選択したポイントのキー フィールドの要素のサブセットを形成している場合、ポイントがハイライトされます。しかし、より柔軟な方法で強調したいと思います。
これは、キーとして list-columns を使用して、r plotly ページ(一番下) から変更された例です。
d <- tibble::tibble(
x = 1:4,
y = 1:4,
key = list('A','B','C','D'),
query = list(c('A','C'), 'B',c('A','D'), c('A','B','D'))
)
highlight_key(d, ~ query) %>%
plot_ly(x = ~x, y = ~y, hoverinfo = "key") %>%
highlight("plotly_selected", color = "red") %>%
highlight(on = "plotly_hover", color = "red", selectize = F, opacityDim = 0.8)
「クエリ」はリストの列です。ポイントの「キー」値が、ホバーされているポイントの「クエリ」フィールドのリスト内の要素のサブセットである場合、ポイントを強調表示したいと思います。ただし、現時点では、 「クエリ」リストが選択したポイントの「クエリ」リストのサブセットである場合にのみ強調表示されます。たとえば、「クエリ」列の要素で「キー」列を検索して、点 D にカーソルを合わせて点 A、B、および D を強調表示したい。しかし、現在、A {'A','C'} のクエリ値は D {'A','B','D'} のクエリ リストのサブセットではないため、A は強調表示されません。