2016-03-06 4 views
20

Ich versuche, diese folgende Grafik unter Verwendung des ggplot2 Pakets zu zeichnen, aber irgendwie wird die Achse nicht angezeigt. die Zecken sind da, nur nicht die Achsenlinie. Ich habe die theme(axis.line=element_line()) Funktion verwendet, aber es würde nicht funktionieren.ggplot2, Achse wird nach der Verwendung des Themas nicht angezeigt (axis.line = element_line())

Hier ist mein Code:

library(ggplot2) 

ggplot(data = soepl_randsub, aes(x = year, y =satisf_org, group = id)) + 
    geom_point() + geom_line() +ylab("Current Life Satisfaction") +theme_bw() + 
    theme(plot.background = element_blank(), 
     panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank()) + 
    theme(panel.border= element_blank()) + 
    theme(axis.line = element_line(color="black", size = "2")) 

Ich bin nicht sicher, was falsch gelaufen ist. Hier ist das Diagramm.

enter image description here

+0

in element_line (color = "black", size = "2")) ersetzen size = "2" von size = 2 – MLavoie

+0

, wenn Sie wie das Leben auf der bleeding edge fühlen, können Sie 'devtools tun :: install_github ("Katiedaisey/ggplot2") '- oder warte auf die Pull-Anfrage, um das Update in' hadley/ggplot2' zu bringen oder warte auf eine Bugfix-Version ... –

Antwort

43

Der Fehler in ggplot2 v2.2.0 wurde behoben Es gibt keine Notwendigkeit mehr besteht, separat Achslinien zu spezifizieren.

Ich denke, das ist ein Fehler in ggplot2 v2.1.0. (Siehe this bug report und this one.) Eine Problemumgehung besteht darin, die X-Achsen- und die Y-Achsenlinien separat festzulegen.

library(ggplot2) 

    ggplot(data = mpg, aes(x = hwy, y = displ)) + 
    geom_point() + 
    theme_bw() + 
    theme(plot.background = element_blank(), 
     panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank())+ 
    theme(panel.border= element_blank())+ 
    theme(axis.line.x = element_line(color="black", size = 2), 
     axis.line.y = element_line(color="black", size = 2)) 
2

Sie müssen die Achsengröße für X und Y nicht separat angeben. Wenn Sie size = "2" angeben, berücksichtigt R den Wert 2 als nicht-numerisches Argument. Daher ist der Achsenlinienparameter auf 0 voreingestellt. Verwenden Sie dieses Codezeile:

ggplot(data = mpg, aes(x = hwy, y = displ)) + geom_point() +xlab("Date")+ylab("Value of Home")+theme_bw() +theme(plot.background = element_blank(),panel.grid.major = element_blank(),panel.grid.minor = element_blank()) + theme(panel.border= element_blank()) + theme(axis.line = element_line(color="black", size = 2))

axis_line erbt von Linie in R, also Größe spezifizieren obligatorisch für die Nichtstandardwerte.