[R] Options for zooming plots other than zm()
Jim Lemon
drj|m|emon @end|ng |rom gm@||@com
Sun Apr 26 12:32:02 CEST 2020
Hi Robert,
Maybe you can use something simple like this:
zoomInScatterPlot<-function(x=NULL,y,...) {
if(is.null(x)) x<-1:length(y)
plot(x,y,...)
xylim<-par("usr")
boxed.labels(xylim[1]-diff(xylim[1:2])/20,
xylim[3]-diff(xylim[3:4])/10,"Done")
xy1<-locator(1)
done<-FALSE
while(!done) {
if(xy1$x < xylim[1]) done<-TRUE
else {
xy2<-locator(1)
xlim<-c(xy1$x,xy2$x)
ylim<-c(xy1$y,xy2$y)
plot(x,y,xlim=xlim,ylim=ylim,...)
xylim<-par("usr")
boxed.labels(xylim[1]-diff(xylim[1:2])/20,
xylim[3]-diff(xylim[3:4])/10,"Done")
xy1<-locator(1)
}
}
}
zoomInScatterPlot(rnorm(30),rnorm(30))
On Sat, Apr 25, 2020 at 4:40 PM Robert Dodier <robert.dodier using gmail.com> wrote:
>
> Hi,
>
> I am making some plots with plot() which have a fair number of points
> (thousands) and I would like to be able to interactively select a
> region of the plot and zoom in on it. I tried the zoom package which
> has the function zm() but I found that it was unworkably slow to
> refresh the display. I guess I can set the x and y range via xlim and
> ylim but I was hoping to do it interactively. Does someone have a
> suggestion for that?
>
> I looked at ggplot2 but I wasn't able to find something about
> interactive zooming, only noninteractive via plot limits. Perhaps I
> have overlooked something there?
>
> I have searched the mailing list archive and web pages in general but
> I haven't found anything other than zm(). Thank you in advance for
> your help, I appreciate it very much.
>
> best,
>
> Robert Dodier
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list