Visualization VocabularyDataviz vocabulary
Schéma : graphique en volcan
Dessin : Adrien Taudière (CC0)
Exemple ggplot2 : graphique en volcan
Adrien Taudière (CC0); code R ↓; données : Alon et al. 1999, via plsgenomics (Boulesteix et al. 2024) (GPL)
Image de Wikidata : graphique en volcan
BioArt (Public domain); Wikimedia Commons; élément Q7940074

graphique

graphique en volcan

Amplitude de l'effet contre significativité en analyse à haut débit.

volcano plot

Effect size against significance in high-throughput analysis.

Classification

  • graphique
  • points et bulles › nuages de points
  • corrélation
  • le nom évoque : nature

Canaux

Attestation

Littérature scientifique

OpenAlex : 3 486 articles depuis 1979, dont 72 % ces cinq dernières années; surtout en Medicine, Biochemistry, Genetics and Molecular Biology, Energy

Références séminales

Paquets R

Code R de l'exemple ggplot2

library(ggplot2)
library(plsgenomics)

## 2 000 genes in 40 colon tumours and 22 normal tissues: log2 fold change of
## the means and Welch t-test, p-values adjusted by Benjamini-Hochberg.
data(Colon)
expression <- log2(Colon$X)
tumour <- Colon$Y == 2
genes <- data.frame(
  change = colMeans(expression[tumour, ]) - colMeans(expression[!tumour, ]),
  p = apply(expression, 2, \(g) t.test(g[tumour], g[!tumour])$p.value)
)
genes$q <- p.adjust(genes$p, method = "BH")
genes$group <- with(genes, ifelse(q < 0.05 & change > 1, "Higher in tumours",
                           ifelse(q < 0.05 & change < -1, "Lower in tumours", "Other")))
counts <- table(genes$group)

p <- ggplot(genes, aes(x = change, y = -log10(p), colour = group)) +
  geom_vline(xintercept = c(-1, 1), colour = "#a6a6a6", linewidth = 0.3, linetype = "dashed") +
  geom_point(size = 0.9, alpha = 0.6) +
  annotate("text", x = c(1.9, -1.9), y = 7.9, hjust = c(1, 0), vjust = 1, size = 3, colour = c("#9b2367", "#2e7891"),
           label = paste(counts[c("Higher in tumours", "Lower in tumours")],
                         c("genes higher\nin tumours", "genes lower\nin tumours"))) +
  scale_colour_manual(values = c(`Higher in tumours` = "#9b2367", `Lower in tumours` = "#2e7891",
                                 Other = "#a6a6a6")) +
  scale_x_continuous(labels = lex_number) +
  scale_y_continuous(labels = lex_number, limits = c(0, 8), expand = expansion(mult = c(0.02, 0))) +
  labs(title = "More genes rise than fall in colon tumours",
       subtitle = "Colon tissues; coloured: twofold change and 5% false discovery rate",
       x = "Log2 fold change, tumour / normal", y = "−log10 p-value",
       caption = "Data: Alon et al. 1999, via the plsgenomics R package") +
  theme_lex_viz(grid = "", arrows = "y") +
  theme(legend.position = "none")

Sources (2)

Citer cette fiche

Adresse stablehttps://dataviz.adrientaudiere.com/terme/volcano-plot.html

RéférenceTaudière Adrien. 2026. graphique en volcan. Dans Visualization Vocabulary, version 1.0.0. IdEst. https://dataviz.adrientaudiere.com/terme/volcano-plot.html

BibTeX
@incollection{taudiere2026-volcano-plot,
  author    = {Taudière, Adrien},
  title     = {graphique en volcan},
  booktitle = {Visualization Vocabulary},
  year      = {2026},
  version   = {1.0.0},
  publisher = {IdEst},
  url       = {https://dataviz.adrientaudiere.com/terme/volcano-plot.html},
  note      = {CC0 1.0}
}

Fiche créée le 13/10/2026. Texte modifié le 02/11/2026. Images modifiées le 02/11/2026. Chiffres calculés le 22/10/2026.