Я использую пакеты ggplot2
и plotly
R для создания графика вулкана для визуализации данных о дифференциальной численности белка.
library(ggplot2)
library(plotly)
nVals <- 80
nFacets <- 2
#example dataset
proteins <- rep(paste0('protein_', c(1:(nVals / nFacets))), nFacets)
set.seed(1)
dat <- data.frame(log_FC = c(rnorm(nVals*0.8, 0, 1), rnorm(nVals*0.2, 0, 12)),
log_Pval = abs(rnorm(nVals, mean=0, sd=0.01)),
facet = rep(paste0('Cell line ', 1:nFacets), nVals / nFacets),
protein = proteins[order(proteins)])
#make ggplot2 object
p <- ggplot(dat, aes(y = log_Pval, x = log_FC, text = protein)) +
facet_wrap(~ facet) +
geom_point()
#convert p to plotly object with plotly::ggplotly
ggplotly(p)
Пример токового выхода
Я использую функцию всплывающей подсказки в plotly
, чтобы показать данные, связанные с каждой точкой.Я хотел бы расширить функцию всплывающей подсказки, чтобы выделить один и тот же белок в разных фасетах графика.
Другими словами, , когда курсор находится над точкой в 1 фасете, появится окно всплывающей подсказки.по всем точкам, имеющим одинаковое значение в столбце dat$protein
в смежных фасетах.
Здесь является примером того, к чему я стремлюсь.
Есть ли способ настроить поведение всплывающей подсказки для достижения того, что я описал?