Barplot mit 2 Variablen nebeneinander
Ich versuche zu bekommen barplot, die ist ziemlich verbreitet, aber trotz der Lektüre Tonnen von Unterlagen auf das Plotten in R, und die Dokumentation von ggplot und von von allen seinen Schichten, ich kann nicht dieses Grundstück, wie ich es möchte zu.
Meine Daten ist Recht einfach.
aov.data
Block RTreg RTrnd
1 Block1 0.0000 862.0707
2 Block2 667.2081 770.4315
3 Block3 645.4730 696.0200
4 Block4 674.5200 659.4765
5 Block5 651.4295 633.7333
Was ich will zu bekommen, ist ein barplot mit der Block
Spalte in der x-Achse als kategoriale variable. In der y-Achse möchte ich die Werte, um den Verlauf der RTreg
und RTrnd
Spalten. Dies ist der Teil, den ich nicht Recht erhalten. Was ich möchte ist, t zwei Takte pro tick-Markierung auf der x-Achse. Ein Balken repräsentieren den Wert der RTreg
in diesem Block, und ein Balken repräsentieren den Wert der RTrnd
in diesem block. So etwas wie dieses:
.
Aber mit 5 Sätze von zwei bars, anstelle von zwei.
Bisher habe ich folgenden code:
ggplot(aov.data,aes(x=Block)) +
geom_bar(aes(y=RTreg),stat="identity",position="dodge",col="blue") +
geom_bar(position="dodge") +
geom_bar(aes(y=RTrnd),stat="identity",position="dodge",col="red")
Was ich dachte, ich Tat, war zu erstellen Sie zuerst das Basis-plot mit der kategoriale x-Achse mit den Blöcken. Dann, mit geom_bar
ich dachte, ich hinzufügen, erste, die RTreg
Spalte und mit der zweiten geom_bar
, dass ich das hinzufügen der RTrnd
Spalte. Mit der option position
gleich dodge
ich wenn ich ging, um die zwei Balken nebeneinander. Aber die Handlung bin ich immer:
Gültiges XHTML http://s12.postimage.org/k0przrmtp/failed_geom_bar.png.
Jede Idee, wie man die zwei Balken nebeneinander, und hoffentlich auch mit verschiedenen Farben und eine Legende für jeden? Ich würde wirklich zu schätzen einige Hinweise hier.
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie verändern Sie Ihre Daten-frame von Breite zu lange und dann brauchen Sie nicht zu setzen, bars für jeden Zustand getrennt.
Unter der Annahme, dass data frame namens
df
.Einen alternativen Ansatz unter Verwendung der nativen R-Funktionen:
Was passiert oben?
Um das zu beantworten, möchte ich zunächst bringen Sie Ihre Aufmerksamkeit auf das erste argument der
barplot()
d.h. 'Höhe'. Jetzt, hier, wenn man einen Vektor als Eingabe, dann wird die Funktion erzeugt einen regulären bar-Graphen, wie Sie es erwarten würden. Allerdings, um die Handlung eines gruppierten Balkendiagramms, haben Sie, um Daten in die matrix-format. Nun, hier kommt die Magie. Für das gruppierte Balkendiagramm, Ihre Variablen müssen vorhanden sein, in den Zeilen der matrix, anstelle des regulären Spalten. Was ich damit sagen will ist, anstelle der Speicherung von Daten entlang der Spalten:speichern Sie die Daten in den Zeilen:
Dies ist der Weg
barplot()
erkennt, das 2 verschiedene Variablen 'RTreg' & 'RTrnd'. Wenn Sie m anderen Variablen, die Sie wollen, um in den cluster, dann kopieren Sie diese einfach über die Zeilen der matrix nach der Einstellung der 'nrow' argument dermatrix()
zu m. Nun, zur Erreichung der oben genannten Struktur, habe ich einfach erstellt eine leere matrix und kopiert die 'RTreg' & 'RTrnd' in Zeile 1 & 2 sind. Sobald die matrix erstellt ist, dann sind Sie gut zu gehen. Rufen Sie einfach diebarplot()
- Funktion zusammen mit der matrix als argument Höhe und vergessen Sie nicht die 'neben' - argument zu WAHR.Ergebnis des obigen Codes :