ggplot2, asse non mostrato dopo aver usato il tema (axis.line = element_line ())

Sto cercando di disegnare questo grafico seguente usando 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.

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.

inserisci la descrizione dell'immagine qui

Il bug è stato corretto in ggplot2 v2.2.0 Non è più necessario specificare le linee degli assi separatamente.

Penso che questo sia un bug in ggplot2 v2.1.0. (Vedi questo bug report e questo .) 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)) 

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. Quindi, il parametro asse-linea è impostato in modo predefinito su 0 dimensioni . Usa 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 dalla riga in R, quindi la specifica della dimensione è obbligatoria per i valori non predefiniti.