Bonjour.

J'ai un petit souci de mise en forme. J'ai deux graphiques, le deuxième découle du premier et j'utilise gridExtra pour les mettre côte à côte. Mais, je n'arrive pas à "aligner" les deux graphiques à cause des labels de l'axe X du premier graphique.

Voici un code pour illustrer mon problème:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# dataframe de demo
df <- data.frame(
  nom = c(424242:424299),
  val1 = rnorm(58, 10, 1),
  val2 = rnorm(58, 10, 1)
)
 
# modules
library(ggplot2)
library(gridExtra)
 
# graph 1
g1 <- ggplot(df) +
  aes(x = as.factor(nom)) +
  geom_bar(stat = "identity", aes(y = df$val1), col = "darkred", fill = "green", alpha = 0.5) +
  geom_bar(stat = "identity", aes(y = df$val2), col = "darkgreen", fill = "red", alpha = 0.5) +
  geom_hline(yintercept = 10.5, lty = 2) +
  theme(axis.text.x=element_text(angle = 90, hjust = 0, vjust = 0.5)) +
  ylim( 0, max(df$val1, df$val2) + 5 ) +
  labs(
    title = "Super graph",
    subtitle = "truc en fonction des bidules",
    x = "truc",
    y = "bidule"
  )
 
g1
 
# graph 2
g2 <- ggplot(df) +
  aes(x = val1 , y = ..density.. ) +
  geom_histogram(aes( fill = ..count..)) +
  geom_density() +
  geom_vline(xintercept = 10.5, lty = 2) +
  xlim(0, max(df$val1, df$val2) + 5) +
  labs(
    title = "",
    subtitle = "",
    x = "",
    y = "Density"
  ) +
  coord_flip()
 
g2
 
# assemblage
grid.arrange(g1, g2, ncol = 2, widths = c(3,1))
quelqu'un a-t-il une solution à mon petit souci ?