Ich habe dieses R-Skript für eine lange Zeit ausgeführt und es funktionierte immer perfekt, aber heute habe ich es auf einem neuen Arbeitscomputer geladen und bemerkte, dass meine Diagramme anders kamen . Ich habe ggplot2 auf meiner Maschine neu installiert und jetzt sind meine Plots die gleichen wie bei meinen Kollegen.R ggplot2 Fehler: Stapeln nicht gut definiert, wenn ymin! = 0
Das Skript nimmt einen Datensatz, der wie folgt aussieht:
Var1 Var2 value Var3
1 A Total -20.3681969 Total
2 B Total -7.8687517 Total
3 C Total -5.5482684 Total
4 D Total -5.380664 Total
5 E Total -1.6060702 Total
6 F Total -1.5844055 Total
7 G Total -1.571284 Total
8 H Total -0.2576642 Total
9 I Total -0.2448856 Total
10 J Total -0.2114562 Total
11 K Total -26.2567781 Total
12 L Total -18.3848686 Total
13 A Ghost 0 Ghost
14 B Ghost -20.3681969 Ghost
15 C Ghost -28.2369485 Ghost
16 D Ghost -33.7852169 Ghost
17 E Ghost -39.1658809 Ghost
18 F Ghost -40.7719511 Ghost
19 G Ghost -42.3563566 Ghost
20 H Ghost -43.9276406 Ghost
21 I Ghost -44.1853049 Ghost
22 J Ghost -44.4301904 Ghost
23 K Ghost -18.3848686 Ghost
24 L Ghost 0 Ghost
und schafft ein gestapeltes Balkendiagramm:
ggplot(data=myData, aes(x=Var1, y=value, fill=Var3, order=-as.numeric(Var2))) + geom_bar(stat="identity")+
theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), axis.line = element_line(colour = "black")) +
labs(x="", y="") +
scale_y_continuous(labels=format_si()) +
ggtitle("myData") +
guides(fill=FALSE) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Mein Problem ist, dass vor der Neuinstallation ggplot2, die grünen Balken kamen oben heraus (zwischen der x-Achse und den lila Balken). Ich gehe davon aus, dass die neue Behandlung mit der oben erwähnten Warnung zu tun hat (obwohl ich diese Nachricht schon früher erhalten habe). Gibt es eine Möglichkeit, ggplot2 mitzuteilen, wie mit negativen Werten umgegangen wird, da alle Ausgaben negativ sind? Gibt es eine Möglichkeit, die grünen Balken explizit auf die x-Achse zu setzen? Ich habe versucht, mit dem Order-Operator in den Aufruf von ggplot2 zu mischen, konnte es aber nicht zum Laufen bringen. Danke für Ihre Hilfe!
Die Ordnungsästhetik ist weg, und wenn stat "Identität" ist, werden die Balken so geordnet, wie sie in den Daten erscheinen, also müssen Sie die tatsächlichen Zeilen neu anordnen, um die Balkensegmentreihenfolge zu ändern. – joran