Format de graphique avec Tidyverse (dplyr)

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Alain Blanchet
Messages : 97
Enregistré le : 21 Mai 2013, 09:49

Format de graphique avec Tidyverse (dplyr)

Messagepar Alain Blanchet » 30 Avr 2019, 14:33

Je cherche à réaliser ce graphique avec le même format avec tidyverse.

Exemple :
set.seed(123)
X <- data.frame(a = rnorm(10), b = rnorm(10), c = rnorm(10,2))
m1 <- min(X[,1:2]) - 0.5
m2 <- min(X[,2:3]) - 0.5
m3 <- max(X[,c(1,3)]) + 0.5

library(reshape2)
df <- melt(X)
pval <- pairwise.wilcox.test(df$value, df$variable)$p.value


par(bty="n")
boxplot(X, las = 1, col = "wheat", bty="l", ylim = range(X) + c(-1, 1))

Merci pour vos conseils éclairés
A. Blanchet

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Format de graphique avec Tidyverse (dplyr)

Messagepar Mickael Canouil » 02 Mai 2019, 08:21

Bonjour,

il s'agira d'utiliser ggplot2 (inclu dans le tidyverse)

Code : Tout sélectionner

library(tidyverse)
set.seed(123)
X <- data.frame(a = rnorm(10), b = rnorm(10), c = rnorm(10,2))

df <- tidyr::gather(data = X, key = "letters", value = "values")

ggplot2::ggplot(data = df, mapping = ggplot2::aes(x = letters, y = values)) +
  ggplot2::geom_boxplot()


Les ggplot2:: et tidyr:: ne sont pas indispensables, c'est simplement pour montrer la provenance des fonctions de façon explicite.

Image

PS: Merci pour ce beau code reproductible ;)

En pur (et "too much") tidyverse :

Code : Tout sélectionner

library(tidyverse)
set.seed(123)
tibble::tibble(
  a = rnorm(10),
  b = rnorm(10),
  c = rnorm(10, 2)
) %>%
  tidyr::gather(data = X, key = "letters", value = "values") %>%
  ggplot2::ggplot(mapping = ggplot2::aes(x = letters, y = values)) +
    ggplot2::geom_boxplot()


Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Alain Blanchet
Messages : 97
Enregistré le : 21 Mai 2013, 09:49

Re: Format de graphique avec Tidyverse (dplyr)

Messagepar Alain Blanchet » 02 Mai 2019, 10:51

Merci beaucoup,

Ce qui m'intéressait aussi, c'est le format de l'axe des x et celui des y (minimal) avec un fond également minimal (blanc sans texture) comme sur l'exemple joint (plot)

Très cordialement

Alain Blanchet

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Format de graphique avec Tidyverse (dplyr)

Messagepar Mickael Canouil » 02 Mai 2019, 13:38

Pour changer le thème, je vous invite à regarder les thèmes natifs de ggplot2: theme_* et ceux des packages tels que ggthemes par exemple.
Sinon, vous pouvez personnaliser un thème déjà existant ou générer le votre: https://ggplot2.tidyverse.org/reference ... ion-themes

Code : Tout sélectionner

library(tidyverse)
library(ggthemes)
set.seed(123)
X <- data.frame(a = rnorm(10), b = rnorm(10), c = rnorm(10,2))

df <- tidyr::gather(data = X, key = "letters", value = "values")

ggplot2::ggplot(data = df, mapping = ggplot2::aes(x = letters, y = values)) +
  ggplot2::geom_boxplot(fill = "wheat") +
  ggthemes::geom_rangeframe() +
  ggthemes::theme_tufte()

Image


Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Alain Blanchet
Messages : 97
Enregistré le : 21 Mai 2013, 09:49

Re: Format de graphique avec Tidyverse (dplyr)

Messagepar Alain Blanchet » 02 Mai 2019, 15:28

C'est exactement cela (conforme aux normes APA - american psychological association)

Merci beaucoup

Très cordialement

A. Blanchet


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité