2009-07-20 9 views
112

Mi stavo chiedendo se esiste un modo per sbarazzarsi dei valori dell'asse, rispettivamente l'asse xo l'asse y, in un grafico r-plot.Rimuovi valori dell'asse di plottaggio

So che lo axes = false eliminerà l'intero asse, ma vorrei solo eliminare la numerazione.

risposta

54

Utilizzando la grafica di base, il modo standard per eseguire questa operazione è utilizzare gli assi = FALSE, quindi creare i propri assi utilizzando Asse (o asse). Ad esempio,

x <- 1:20 
y <- runif(20) 
plot(x, y, axes=FALSE, frame.plot=TRUE) 
Axis(side=1, labels=FALSE) 
Axis(side=2, labels=FALSE) 

Il reticolo equivalente è

library(lattice) 
xyplot(y ~ x, scales=list(alternating=0)) 
+0

Più uno per la spiegazione del reticolo! – Rhubarb

140

rimuovere la numerazione sulle ascisse o asse y:

plot(1:10, xaxt='n') 
plot(1:10, yaxt='n') 

Se si desidera rimuovere le etichette così:

plot(1:10, xaxt='n', ann=FALSE) 
plot(1:10, yaxt='n', ann=FALSE) 
+3

ma tieni presente che questi rimuovono l'intero asse ... non ci sarà nulla lì a meno che non si usi un'impostazione bty che mette le linee dove sono gli assi. Il valore predefinito è bty = 'o' e quindi normalmente ci sarà una casella attorno al grafico dove sarebbero gli assi. Ma con un bty = 'n' ci sarebbero solo punti galleggianti nello spazio. – John

14

@Richie Cotton ha un bel buona risposta sopra. Posso solo aggiungere che questo page fornisce alcuni esempi. Provare quanto segue:

x <- 1:20 
y <- runif(20) 
plot(x,y,xaxt = "n") 
axis(side = 1, at = x, labels = FALSE, tck = -0.01) 
4

si può anche mettere le etichette all'interno trama:

plot(spline(sub$day, sub$counts), type ='l', labels = FALSE) 

si otterrà un messaggio di avviso. Penso che questo sia dovuto al fatto che le etichette sono in realtà un parametro che viene passato a una subroutine in cui viene eseguito il plot (assi?). verrà visualizzato l'avviso perché non era direttamente un parametro della funzione di stampa.