Reputation: 739
Just a quick question: I'm trying to plot a graph in R and I have covered how to do that, but how do I delete a line I have just created? For instance:
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")
This produces a nice graph. However, say I would like to delete the line I created previously (or perhaps the points as well?!) how should I go about doing it?
Upvotes: 5
Views: 26578
Reputation: 23758
In order to delete a line you just delete the line command and rerun the rest of your commands.
You should think of your plot as your code. You save the code because it's even more informative about what the plot is than the actual plot. Unless you have a LOT of things to draw in your plot it's relatively trivial to just re-plot everything. You may need to re-plot dozens of times until it's exactly what you want. FYI, deep down, this is exactly what some GUI based graphing programs do when you tweak things (depends on what you tweak). So, it's not like R is particularly special in this sense.
Alternatively, save the plot as a vector graphic (i.e. PDF), open in a compatible vector graphic drawing program (i.e. Illustrator), and tweak to your hearts content.
Upvotes: 2
Reputation: 4795
The trick to erasing in R base is to redraw everything except what you want to erase in a new plot
so if you:
plot(x,y,main="X vs Y", xlab="X", ylab="Y")
lines(x,y,col="black",lty="dotted")
then decide that you dont want the line then you:
plot(x,y,main="X vs Y", xlab="X", ylab="Y")
Then if you want to erase everthing then you
plot.new()
Upvotes: 4