Самое простое, что нужно сделать, это просто преобразовать этот столбец в текстовый столбец, и тогда он не будет касаться его. Если вы не хотите делать это с самими данными, вы можете изменить их в объекте plot:
p <- ggplot(sample, aes(b, -log10(qval)))
p <- p + geom_point(aes(colour = significant))
p$data$significant <- as.character(p$data$significant)
ggplotly(p)
Обновление ggplot2
Если вы обновите версию ggplot2
до версии на GitHub через: devtools::install_github('hadley/ggplot2')
:
ggplot2 * 2.2.1.9000 2018-05-02 Github (hadley/ggplot2@4635bbb)
plotly * 4.7.1 2017-07-29 CRAN (R 3.4.3)
Тогда нет проблем, как @Maurits Evers описывает ниже.
sample <- read.table(text = "target_id,qval,b,significant
AT2G33830.2,1.703189e-167,2.256506e+00,TRUE
AT2G35810.2,4.202545e-107,-1.667441e+00,TRUE
AT2G23820.1,1.413239e-59,-6.503380e+00,TRUE
AT2G33830.1,1.269998e-48,2.124706e+00,TRUE
AT2G25964.1,2.555293e-32,-1.152527e+00,TRUE
AT2G26740.1,1.106960e-30,3.234900e+00,TRUE
AT1G65040.6,9.998811e-01,5.752283e-05,FALSE
AT1G73430.2,9.998811e-01,8.065345e-05,FALSE
AT2G47020.3,9.998811e-01,7.621082e-05,FALSE
AT3G62840.1,9.998811e-01,1.335211e-05,FALSE
AT5G23090.3,9.998811e-01,1.447117e-04,FALSE
AT5G03830.2,NA,-1.856909e-01,NA", sep = ",", header = TRUE)
library("plotly")
p <- ggplot(sample, aes(b, -log10(qval)))
p <- p + geom_point(aes(colour = significant))
ggplotly(p)