R ggplot2 geom_bar les limites de l'axe

Hier, j'ai posé une question au sujet de tracé horaire de données avec ggplot2 (R ggplot2 ploting données horaires) et trouvé une solution grâce aux réponses reçues. Ensuite, j'ai succedeed ploting les données de température avec geom_line().

J'ai essayé d'appliquer le même pour geom_bar pour illustrer des données de précipitations avec des barres. Mais je n'arrive pas à définir l'axe des y à des limites. J'ai essayé différentes choses mais ne peut pas trouver le point exact.

Mon apparence des données:

FECHA H_SOLAR;DIR_M;VEL_M;TEMP_M;HR;PRECIP
01/06/14 00:50:00;314.3;1.9;14.1;68.0;-99.9
01/06/14 01:50:00;322.0;1.6;13.3;68.9;-99.9
01/06/14 02:50:00;303.5;2.1;12.3;70.9;-99.9
01/06/14 03:50:00;302.4;1.6;11.6;73.1;-99.9
01/06/14 04:50:00;306.5;1.2;10.9;76.4;-99.9
01/06/14 05:50:00;317.1;0.8;12.6;71.5;-99.9
01/06/14 06:50:00;341.8;0.0;17.1;58.8;-99.9
01/06/14 07:50:00;264.6;1.2;21.8;44.9;-99.9
01/06/14 08:50:00;253.8;2.9;24.7;32.2;-99.9
01/06/14 09:50:00;254.6;3.7;26.7;27.7;10
01/06/14 10:50:00;250.7;4.3;28.3;24.9;12
01/06/14 11:50:00;248.5;5.3;29.1;22.6;-99.9
01/06/14 12:50:00;242.8;4.7;30.3;20.4;-99.9
01/06/14 13:50:00;260.7;4.9;31.3;17.4;-99.9
01/06/14 14:50:00;251.8;5.1;31.9;17.1;-99.9
01/06/14 15:50:00;258.1;4.6;32.4;15.3;-99.9
01/06/14 16:50:00;254.3;5.7;32.4;14.0;-99.9
01/06/14 17:50:00;252.5;4.6;32.0;14.1;-99.9
01/06/14 18:50:00;257.4;3.8;31.1;14.9;20
01/06/14 19:50:00;135.8;4.2;26.0;41.2;-99.9
01/06/14 20:50:00;126.0;1.7;23.5;48.7;16
01/06/14 21:50:00;302.8;0.7;21.6;53.9;-99.9
01/06/14 22:50:00;294.2;1.1;19.3;67.4;-99.9
01/06/14 23:50:00;308.5;1.0;17.5;72.4;-99.9

et c'est le code que j'essaie

library(ggplot2)
datos=read.csv("meteo.dat",sep=";",header=T,na.strings="-99.9")
datos$dia=as.POSIXct(datos[,1], format="%y/%m/%d %H:%M:%S")
datos$PRECIP[is.na(datos$PRECIP)]=0   # to avoid NA values
ggplot(data=datos,aes(x=dia, y=PRECIP)) + geom_bar(colour="blue",stat="identity") +
ylab("Precipitación (l)") + xlab("Hora solar") + 
opts(title="Precipitacion acumulada horaria \n 2008-05-27 Burriana") + 
scale_x_datetime(limits=xlim) + 
scale_y_continuous(limits=c(0,50))

Lors de la définition des limites pour l'axe y, comme ça il ne fonctionne pas comme je l'espérais. Si je retire de l'axe y de réglage je n'ai pas toujours obtenir la même "automatique" limites

C'est ce que j'obtiens quand je n'ai pas de fixer une limite à l'axe des ordonnées. Je voudrais fixer des limites afin de bars sont plus (à la verticale).
R ggplot2 geom_bar les limites de l'axe

Merci d'avance

EDIT: Édité pour montrer le code qui a fonctionné pour moi.

Grâce Andrie, Chris et Brian

# Setting axis limits
xlim = as.POSIXct(c("2008-05-27 00:00:00", "2008-05-27 23:50:00"))
ylim = trunc(max(datos$PRECIP) + 10)
# Ploting
ggplot(data=datos,aes(x=dia, y=PRECIP)) + geom_bar(colour="blue",stat="identity",fill="blue") +
ylab("Precipitación (l)") + xlab("Hora solar") + 
opts(title="Precipitacion acumulada horaria \n DIA NOMBRE") + 
scale_x_datetime(limits=xlim ,format = "%H",major='hour') + scale_y_continuous(limits=c(0,ylim))

Maintenant, le point est de sous-ensemble PRECIP de données pour trouver ylim. Maintenant, je suis pas au max de l'ensemble de la precip série de données, pas le maximum de la ploted jour. Je dois décider de ce que c'est mieux, d'y limites pour tous les jours de la série ou de modifier les axes pour toute la journée.

Merci encore

Qu'obtenez-vous et qu'avez-vous espérer obtenir?
J'ai essayé votre code. Il n'est pas reproductible, car il ne peut pas trouver l'objet xlim dans l'axe des x de code. L'erreur est peut être là, plutôt que dans l'axe des y à des limites. Aussi loin que je peux dire, l'axe des y des limites de travail (il fonctionne sur ma machine).
J'ai aussi essayé votre code (chute de la scale_x_datetime puisqu'il n'est pas xlim défini et l'abandon de l' scale_y_continuous puisque c'est là le problème) et a obtenu un raisonnablement mis à l'échelle (de 0 à 20) de l'axe y. Juste spéculer, mais je devine que c'est juste un sous-ensemble de données; peut-être que vous avez une extrême PRECIP valeur affectant l'échelle mais de ne pas avoir comploté? qu'est-ce que max(datos$PRECIP)?
Je suis désolé, j'ai raté la définition de xlim, je le définir comme xlim=as.POSIXct("2009-10-01 00:00:00","2009-11-31 23:00:00") , que je me souvienne, parce que je n'ai pas le code ici à la maison. Dans tous les cas, la syntaxe était droit comme il a travaillé pour geom_line().
Salut Brian, je pense que le maximum des précipitations est de 45,5. Je vais vérifier demain au travail

OriginalL'auteur pacomet | 2011-10-05