Je crois que mon cadre de données est correct et que mon code est correct. En fait, j'ai éliminé des parties de la trame de données et la plupart du code graphique pour rendre les choses aussi basiques que possible. Mais encore, je reçois:
Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) :
invalid graphics state
Qu'est-ce qui ne va pas ici? Voici les données:
date trt var val
1/8/2008 cc sw5 0.2684138
1/8/2008 cc sw15 0.2897586
1/8/2008 cc sw5 0.2822414
2/8/2008 cc sw5 0.2494583
2/8/2008 cc sw5 0.2692917
2/8/2008 cc sw15 0.2619167
2/8/2008 cc sw5 0.204375
3/8/2008 cc sw5 0.2430625
3/8/2008 cc sw5 0.2654375
3/8/2008 cc sw5 0.2509583
3/8/2008 cc sw5 0.2055625
1/8/2008 ccw sw15 0.2212414
1/8/2008 ccw sw5 0.3613448
1/8/2008 ccw sw5 0.2607586
2/8/2008 ccw sw5 0.2087917
2/8/2008 ccw sw15 0.3390417
2/8/2008 ccw sw5 0.2436458
2/8/2008 ccw sw5 0.290875
3/8/2008 ccw sw5 0.20175
3/8/2008 ccw sw15 0.328875
3/8/2008 ccw sw5 0.2328958
3/8/2008 ccw sw5 0.2868958
Lorsque je travaille avec ces données, je spécifie des dates comme ceci:
df<-df[order(as.Date(df$date,format="%d/%m/%Y")),,drop=FALSE]
et ici je veux faire un nuage de points:
ggplot(data = df,aes(x = date,y = val)) +
geom_point(aes(group = trt))
J'ai rencontré cette même erreur et l'ai résolue en exécutant:
dev.off()
puis relancer l'intrigue. Je pense que le périphérique graphique a été endommagé plus tôt en exportant certains graphiques et il n'a pas été réinitialisé. Cela a fonctionné pour moi et c'est plus simple que de réinstaller ggplot2.
La solution consiste simplement à réinstaller ggplot2
. Il existe peut-être une incompatibilité entre la version R que vous utilisez et votre version installée de ggplot2
. Sinon, quelque chose s'est mal passé lors de l'installation de ggplot2
plus tôt, ce qui est à l'origine du problème que vous voyez.
Vous n'avez probablement pas besoin de réinstaller ggplot2
Solution: revenir à l'intrigue qui ne fonctionnait pas auparavant. Prenez la sortie de console ci-dessous par exemple. Les marges des figures (la fenêtre qui affiche vos tracés) étaient trop petites pour afficher le tracé des paires (MinusInner). Puis, quand j'ai essayé de faire le prochain qplot, R était toujours suspendu à l'erreur précédente.
paires (MinusInner) Erreur dans plot.new (): marges trop grandes qplot (Sample.Type, BAE, data = MinusInner, geom = "boxplot") Erreur dans .Call.graphics (C_palette2, .Call (C_palette2, NULL) ): état graphique non valide
J'ai corrigé la première erreur en développant la fenêtre de tracé et en réexécutant le tracé de paires (MinusInner). Alors blam, ça a marché.
paires (MinusInner) qplot (Sample.Type, BAE, data = MinusInner, geom = "boxplot")
J'ai constaté que cela se produisait lorsque vous mélangez des graphiques ggplot avec des graphiques dans la même session. Utiliser la solution 'dev.off' suggérée par Paul résout le problème.
J'ai résolu ce problème en nettoyant toutes les parcelles de la console, puis en m'assurant que la zone de parcelle était suffisamment grande pour accueillir ce que je créais.