2 votes

ggplot - facet wrap - ajustement de l'échelle pour montrer les différences apparentes entre les valeurs

J'ai un cadre de données comme ci-dessous :

text <- "
brand   a   b   c   d   e   f
nissan  99.21   99.78   6496    1.28    216 0.63
toyota  99.03   99.78   7652    1.39    205 0.60
"
df <- read.table(textConnection(text), sep="\t", header = T)

J'essaie d'obtenir toutes les variables pour les deux groupes dans un seul ggplot en utilisant face_wrap comme ci-dessous :

library(reshape2)
library(ggplot2)
library(ggthemes)
library(RColorBrewer)
ggplot(melt(df, id = "brand")) + 
  aes(brand, value, fill = brand) + 
  geom_bar(stat = "identity", position='dodge') +
  geom_text(data=melt(df, id = "brand"), angle = 0, 
               aes(brand, value,
                   label = ifelse(value > 100, round(value, 0), value) ) ) +
  facet_wrap(~ variable, scales = "free_y") + 
  scale_fill_brewer(palette = "Paired") + 
    theme(
      legend.position = "top",
      strip.text.y = element_text(angle = 0),
      axis.text.x = element_blank(),
      axis.text.y = element_blank(),
      axis.ticks = element_blank()
      )

Ça marche bien, sauf pour une chose. Les différences apparentes entre le groupe pour la valeur d'une variable ne ressortent pas très bien visuellement. Par exemple pour la variable a Je souhaite que la hauteur des barres soit telle qu'il soit plus facile de savoir laquelle est la plus haute. Comment faire pour que la différence de hauteur entre des valeurs aussi proches soit plus importante ?

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X