2012-07-19 22 views
5

Solo una domanda veloce: sto provando a tracciare un grafico in R e ho spiegato come farlo, ma come faccio a cancellare una linea che ho appena creato? Ad esempio:Eliminazione linea da trama

x <- c(1, 2, 4, 5, 6.7, 7, 8, 10) 
y <- c(40, 30, 10, 20, 53, 20, 10, 5) 

plot(x,y,main="X vs Y", xlab="X", ylab="Y") 

lines(x,y,col="black",lty="dotted") 

Questo produce un grafico piacevole. Tuttavia, dire che vorrei eliminare la riga che ho creato in precedenza (o forse anche i punti ?!) come dovrei fare per farlo?

+7

R usa un modello di penna + carta per la rappresentazione grafica, quindi una volta che qualcosa viene disegnato sul dispositivo, è lì finché non si ricomincia da capo con un dispositivo vuoto. – joran

+1

ci sono hack come ridisegnare la stessa linea con il colore di sfondo ('lines (x, y, col =" white ", lty =" punteggiato ")') - ma sono fragili (ad esempio dipendono dal disegno contro uno sfondo bianco, ecc.) –

+0

Grazie Ben e joran. Questo modello di penna + carta diventa un protoblema se ho due o più grafici sullo stesso grafico, come il re-disegno in trucioli bianchi di bit dell'altro grafico. Non c'è davvero intorno? –

risposta

4

Il trucco per la cancellazione a base di R è di ridisegnare tutto tranne ciò che si desidera cancellare in una nuova trama

quindi se:

plot(x,y,main="X vs Y", xlab="X", ylab="Y") 
lines(x,y,col="black",lty="dotted") 

allora decide che non volete la linea allora si :

plot(x,y,main="X vs Y", xlab="X", ylab="Y") 

poi, se si desidera cancellare everthing allora si

plot.new() 
2

Per eliminare una riga è sufficiente eliminare il comando di riga e rieseguire il resto dei comandi.

Si dovrebbe pensare alla trama come al codice. Si salva il codice perché è ancora più informativo su quale sia la trama rispetto alla trama effettiva. A meno che tu non abbia un sacco di cose da disegnare nella tua trama, è relativamente semplice ricostruire tutto. Potrebbe essere necessario ri-tracciare dozzine di volte finché non è esattamente quello che vuoi. Cordiali saluti, in fondo, questo è esattamente ciò che fanno alcuni programmi di grafica basati su GUI quando modifichi le cose (dipende da cosa modifichi). Quindi, non è che R sia particolarmente speciale in questo senso.

In alternativa, salvare la trama come immagine vettoriale (ad esempio PDF), aprire in un programma di disegno vettoriale compatibile (ad esempio Illustrator) e modificare il contenuto del proprio cuore.