2012-07-19 2 views
1

J'ai regardé cela pendant un certain temps maintenant, est-ce que quelqu'un voit quelque chose de mal avec cette syntaxe de ggplot? Je reçois cette erreur:ggplot pas de graphique dans

Error: Discrete value supplied to continuous scale 

c'est z:

 Month Value 
1 2011-01-01 11 
2 2011-02-01  5 
3 2011-03-01  6 
4 2011-04-01  6 
5 2011-05-01  4 
6 2011-06-01  5 
7 2011-07-01  3 
8 2011-08-01  9 
9 2011-09-01 19 
10 2011-10-01  3 
11 2011-11-01  6 
12 2011-12-01  2 
13 2012-01-01  1 
14 2012-02-01  4 
15 2012-04-01  1 
16 2012-05-01  2 
17 2012-06-01 11 
18 2012-07-01  5 


ggplot(z, aes(Month, Value)) + 
    geom_bar(fill="orange",size=.3) + 
    theme_bw() + scale_x_discrete(name="Date") + 
    scale_y_continuous("Number") + 
    opts(title="Monthly issues", 
     axis.title.x = theme_text(face="bold", colour="#990000"), 
     axis.text.x = theme_text(angle=90), 
     axis.title.y = theme_text(face="bold", colour="#990000", angle=90) 
    ) + 
    geom_smooth(data=z,aes(Month,Value,group=1), method="lm", size=2, color="darkblue") 
+0

Cela fonctionne bien pour moi et produit un complot très bien. Vérifiez 'str (z)' et assurez-vous que Value n'est pas stocké comme facteur. – joran

+0

c'est la sortie de str (z): str (z) 'data.frame': 18 obs. de 2 variables: $ Mois: Date, format: "2011-01-01" "2011-02-01" "2011-03-01" "2011-04-01" ... $ Valeur: num 11 5 6 6 4 5 3 9 19 3 ... –

Répondre

5

Aha! Le problème est votre colonne Month, qui, comme vous le notez dans votre commentaire, est stockée en tant que date. R considère qu'il s'agit d'une variable continue, d'où l'erreur scale_x_discrete. Vous devriez probablement le convertir en un caractère avec as.character si vous voulez l'utiliser avec geom_bar.

+0

oui quand j'ai fait ça z $ Month <-as.Character (z $ Month), je peux lancer manuellement et je vois le graphique. Le problème est que lorsque j'essaie d'exécuter cette ligne de code dans un script R, mes images ne sont pas remplies: png (m (m, "-", "Problèmes", ".png", sep = ""), height = 700, width = 650) et que la commande ggplot et les fichiers dev.off(), png sont créés mais vides. –

+0

@MikeDude C'est un problème entièrement différent qui est si commun qu'il est un [FAQ] (http://cran.at.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics -not-work_003f). – joran

+0

merci beaucoup. C'était une belle prise (en tant que personnage). J'ai finalement réussi à contourner la génération d'image par grid.arrange, pas sûr de meilleurs moyens mais, ça va le faire pour moi. –

Questions connexes