geordnete Faktoren in ggplot2 Balkendiagramm

Ich habe einen Datenrahmen mit (zur Vereinfachung) Richtern, Filmen und Bewertungen (die Bewertungen liegen auf einer Skala von 1 bis 5 Sternen):

d = data.frame(judge=c("alice","bob","alice"), movie=c("toy story", "inception", "inception"), rating=c(1,3,5))

Ich möchte ein Balkendiagramm erstellen, in dem die x-Achse die Anzahl der Sterne und die Höhe jedes Balkens die Anzahl der Bewertungen für diesen Stern darstellt.

Wenn ich mach

ggplot(d, aes(rating)) + geom_bar()

dies funktioniert einwandfrei, außer dass die Balken nicht über jeder Bewertung zentriert sind und die Breite der einzelnen Balken nicht ideal ist.

Wenn ich mach

ggplot(d, aes(factor(rating))) + geom_bar()

Die Reihenfolge der Anzahl der Sterne wird auf der x-Achse durcheinander gebracht. (Zumindest auf meinem Mac. Aus irgendeinem Grund funktioniert die Standardbestellung auf einem Windows-Computer.) So sieht es aus:

Ich habe es versuch

ggplot(d, aes(factor(rating, ordered=T, levels=-3:3))) + geom_bar()

aber das scheint nicht zu helfen.

Wie kann ich erreichen, dass mein Balkendiagramm wie auf dem obigen Bild aussieht, aber mit der richtigen Reihenfolge auf der x-Achse?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage