2016-03-06 15 views
20

Sto cercando di disegnare questo grafico seguente utilizzando il pacchetto ggplot2, ma in qualche modo l'asse non verrà visualizzato. le zecche sono lì, solo non la linea dell'asse. Ho usato la funzione theme(axis.line=element_line()), ma non funzionava.ggplot2, asse non visualizzato dopo l'utilizzo del tema (axis.line = element_line())

Ecco il mio codice:

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")) 

Non sono sicuro di cosa sia andato storto. Ecco il grafico.

enter image description here

+0

a element_line (color = "nero", size = "2")) sostituire size = "2" da size = 2 – MLavoie

+0

se avete voglia di vivere sul bordo sanguinamento, si può fare 'devtools :: install_github ("Katiedaisey/ggplot2") '- oppure attendi che la richiesta pull porti la correzione in' hadley/ggplot2' o aspetti una versione di bug-fix ... –

risposta

43

Il bug è stato risolto in ggplot2 v2.2.0 Non c'è più bisogno di specificare linee degli assi separatamente.

Penso che questo sia un bug in ggplot2 v2.1.0. (Vedere this bug report e this one.) Una soluzione alternativa è impostare separatamente le linee dell'asse xe dell'asse y.

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

Non è necessario specificare la dimensione dell'asse per X e Y separatamente. Quando si specifica size = "2", R sta considerando il valore 2 come argomento non numerico. Pertanto, il parametro della linea d'asse è impostato su 0 nella dimensione. Utilizzare questa riga di codice:

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 eredita da linea in R, quindi specificando la dimensione è obbligatoria per valori non predefiniti.

Problemi correlati