For example. Assume I do:
dev.new(width=5, height=4)
plot(1:20)
And now I wish to do
plot(1:40)
But I want a bigger window for it.
I would guess that the way to do it would be (assuming I don't want to open a new window) to do
plot(1:40, width=10, height=4)
Which of course doesn't work.
The only solution I see to it would be to turn off the window and start a new one. (Which will end my plotting history)
Is there a better way ?
Thanks.
Use par(mai = c(bottom, left, top, right)) before the plot. It will create extra space around the plot area.
The plotting window size can be found by using dev. size function and we can pass in for inches and cm for centimeters. For example, if we create a plot then we can use dev. size("in") to find the plot size in inches and dev.
Some workaround could be rather than using dev.new() R function use this function which should work across platform :
dev.new <- function(width = 7, height = 7)
{ platform <- sessionInfo()$platform if (grepl("linux",platform))
{ x11(width=width, height=height) }
else if (grepl("pc",platform))
{ windows(width=width, height=height) }
else if (grepl("apple", platform))
{ quartz(width=width, height=height) } }
Here is a my solution to this:
resize.win <- function(Width=6, Height=6)
{
# works for windows
dev.off(); # dev.new(width=6, height=6)
windows(record=TRUE, width=Width, height=Height)
}
resize.win(5,5)
plot(rnorm(100))
resize.win(10,10)
plot(rnorm(100))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With