web-dev-qa-db-fra.com

La mise à l'échelle de l'axe y dans le graphique à barres entraîne la disparition des barres: R ggplot2

J'essaie de créer un barplot en utilisant ggplot2, avec l'axe y commençant à une valeur supérieure à zéro.

Disons que j'ai les moyens et les erreurs standard pour un ensemble de données hypothétiques sur la longueur des carottes dans trois fermes différentes:

carrots<-NULL
carrots$Mean<-c(270,250,240)
carrots$SE<-c(3,4,5)
carrots$Farm<-c("Plains","Hill","Valley")
carrots<-data.frame(carrots)

Je crée une intrigue de base:

p<-ggplot(carrots,aes(y=Mean,x=Farm)) +
   geom_bar(fill="slateblue") +
   geom_errorbar(aes(ymin=Mean-SE,ymax=Mean+SE), width=0)
p

C'est bien, mais comme l'échelle va de 0 à il est difficile de voir les différences de longueur. Par conséquent, je voudrais redimensionner l'axe y à quelque chose comme c (200,300). Cependant, lorsque j'essaie de le faire avec:

p+scale_y_continuous('Length (mm)', limit=c(200,300))

Les barres disparaissent, bien que les barres d'erreur restent.

Ma question est: est-il possible de tracer un barplot avec cet axe ajusté en utilisant ggplot2?

Merci pour toute aide ou suggestion que vous pouvez offrir.

42
susjoh

Essaye ça

p + coord_cartesian(ylim=c(200,300))

La définition des limites sur le système de coordonnées effectue un zoom visuel; les données sont inchangées, et nous ne voyons qu'une petite partie du tracé d'origine.

barplot example

68
rcs