Visualization VocabularyDataviz vocabulary
Schéma : graphique en forêt
Dessin : Adrien Taudière (CC0)
Exemple ggplot2 : graphique en forêt
Adrien Taudière (CC0); code R ↓; données : Francis et al. 1955, via HistData (Friendly et al. 2026) (GPL)
Image de Wikidata : graphique en forêt
James Grellier (CC BY-SA 3.0); Wikimedia Commons; élément Q1437217

graphique

graphique en forêt

aussi : forest plot

Effets et intervalles de confiance de plusieurs études alignés.

forest plot

Effects and confidence intervals of several studies aligned.

Standard des méta-analyses.

Classification

  • graphique
  • points et bulles › points et intervalles
  • écart
  • le nom évoque : nature

Canaux

Attestation

Littérature scientifique

OpenAlex : 10 330 articles depuis 1979, dont 59 % ces cinq dernières années; surtout en Medicine, Biochemistry, Genetics and Molecular Biology, Decision Sciences; Wikidata

Références séminales

Paquets R

Code R de l'exemple ggplot2

library(ggplot2)
library(dplyr)
library(HistData)

## Rate ratio of vaccinated children to their controls, with its 95%
## interval on the log scale: 1 / a + 1 / b is the variance of log(ratio).
ratio <- function(a, n_a, b, n_b) {
  r <- (a / n_a) / (b / n_b)
  half <- qnorm(0.975) * sqrt(1 / a + 1 / b)
  c(ratio = r, low = r * exp(-half), high = r * exp(half))
}
trials <- PolioTrials |>
  filter(Group %in% c("Vaccinated", "Placebo", "Controls"))
rows <- bind_rows(lapply(c("Paralytic", "NonParalytic"), function(case) {
  bind_rows(lapply(c("RandomizedControl", "ObservedControl"), function(design) {
    t <- filter(trials, Experiment == design)
    v <- t[t$Group == "Vaccinated", ]
    k <- t[t$Group != "Vaccinated", ]
    tibble(case = case, design = design,
           !!!as.list(ratio(v[[case]], v$Population, k[[case]], k$Population)))
  }))
})) |>
  mutate(label = paste0(ifelse(case == "Paralytic", "Paralytic", "Non-paralytic"), ", ",
                        ifelse(design == "RandomizedControl", "placebo trial", "observed controls")),
         label = factor(label, levels = rev(label)))

p <- ggplot(rows, aes(x = ratio, y = label)) +
  geom_vline(xintercept = 1, colour = "#535353", linewidth = 0.4, linetype = "dashed") +
  geom_errorbar(aes(xmin = low, xmax = high), width = 0.2, orientation = "y", colour = "#9b2367", linewidth = 0.5) +
  geom_point(shape = 15, size = 2.4, colour = "#9b2367") +
  scale_x_log10(breaks = c(0.25, 0.5, 1, 2), labels = c("0.25", "0.5", "1", "2")) +
  labs(title = "The vaccine cut paralytic polio by 62% to 71%",
       subtitle = "Each row is a separate comparison (trial design × form of polio), 1954; rate ratio, vaccinated / controls, with 95% intervals",
       x = "Rate ratio (log scale)", y = NULL,
       caption = "Data: Francis et al. 1955, via the HistData R package") +
  theme_lex_viz(grid = "x", arrows = "")

Sources (6)

2 occurrences dans le corpus

Citer cette fiche

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

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

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

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