2016-03-22 3 views
-1

Ich mache eine grafische Analyse der Kursauswertungen. Ich habe die folgenden Daten:Zweite y-Achse ohne entsprechende x-Daten hinzufügen

> str(dataJ2) 
'data.frame': 16 obs. of 22 variables: 
... 
$ lk_nummer   : Factor w/ 111 levels "051-0311-00S",..: 19 30 38 47 49 50 51 55 56 59 ... 
$ le_titel   : Factor w/ 111 levels "","Advanced Methods and Strategies in Synthesis",..: 6 99 75 82 84 8 40 39 38 68 ... 
$ anzahl_stud   : int 7 79 1 34 10 20 83 10 4 11 ... 
$ durchschnitt  : num 4.61 5.35 3.5 4.4 4.4 4.33 4.49 4.53 5.38 4.48 ... 
$ standardabweich  : num 0.4 0.54 0 1.02 1.21 0.62 1.17 0.9 0.28 0.68 ... 
... 
$ prozent_best  : num 85.7 97.5 0 70.6 90 80 73.5 90 100 81.8 ... 
... 

Mit ggplot2 ich in der Lage war, ein Grundstück zu machen wie folgt aussehen:

plotJ2 <- ggplot(dataJ2, aes(y=durchschnitt,x=le_titel)) 

plotJ2 + geom_bar(position=position_dodge(), stat="identity", fill = I("chartreuse4")) + 
    scale_y_continuous(limits=c(0,6.6),breaks=seq(from=1, to=6, by=1)) + 
    geom_errorbar(aes(ymin=durchschnitt-standardabweich, ymax=durchschnitt+standardabweich), width=.1) + 
    ggtitle("2. Jahr Bsc Biologie") + 
    ylab("Durchschnitt") + xlab("Fächer") + 
    geom_text(aes(label = durchschnitt, y = 1.8), size = 4, colour="gray85") + 
    geom_text(aes(label = anzahl_stud, y = 0.2), size = 4, colour="grey85") + 
    geom_text(aes(label = prozent_best, y = 6.55), size = 4, colour="chartreuse4", adj=1) + 
    geom_text(aes(label = "%", y = 6.6), size = 4, colour="chartreuse4", adj=0) + 
coord_flip() 

Which looks like this when plotted.

Aber wie auch immer, die " prozent_best "im grafischen Teil sieht nicht sehr gut aus. habe ich versucht, mit mtext hinzufügen, Text und facet_wrap die Daten von „dataJ2 $ prozent_best“ als zweite y-Achsenbeschriftung auf der rechten Seite des grauen Teils Graph, konnte es aber nicht funktioniert.

Irgendwelche Empfehlungen?

Nützliche Übersetzungen/Beschreibungen der Daten Anmerkung:

lk_nummer -> Anzahl der Vorträge

le_titel -> Name der Vorlesungen

anzahl_stud -> Anzahl der Studenten

durchschnitt -> Durchschnitt

prozent_best -> Anzahl der s tudents, die die Prüfung in Prozent bestanden

Fächer -> Klassen

+0

Verwenden Sie ein anderes Thema und linksbündig? – Axeman

+0

Ich würde etwas wie das tun: http://StackOverflow.com/a/17493256/471093 – baptiste

+0

alternativ, definieren Sie enger x Xlimits, aber deaktivieren Sie den Ausschnitt für das Panel in der G-Tabelle – baptiste

Antwort

0

Versuche:

geom_text(aes(label = paste0(prozent_best,'%'), y = 6.55), 
size = 4, colour="chartreuse4", hjust='right') 

, dass das '%' Symbol mit dem Wert in eine Zeichenfolge kombiniert. Im Allgemeinen würde ich vorschlagen, Ihre Label-Vektoren außerhalb des ggplot-Aufrufs zu generieren, aber dafür fügt es nicht zu viel Chaos hinzu.

Auch möchten Sie möglicherweise in Hinzufügen scale_x_continuous(expand=0,limits=c(0,7)) suchen. Das wird den hässlichen grauen Balken auf der linken Seite los.

Vielleicht auch versuchen, in theme_bw() hinzufügen, da Ihre Handlung bereits so beschäftigt ist, die grauen Blöcke im Hintergrund von ggplots Standard-Thema nur machen es breiig aussehen.