[R] Fwd: Re: Creating "Envelope" around a plot

WRAY NICHOLAS
Mon, 02 Nov 2015 15:19:10 -0000

> ---------- Original Message ----------
>     From: WRAY NICHOLAS <nicholas.wray at ntlworld.com>
>     To: Duncan Murdoch <murdoch.duncan at gmail.com>, r-help
> <r-help at missing_domain>
>     Date: at
>     Subject: Re: [R] Creating "Envelope" around a plot
>
>
>     Hi Dennis again, I see what you're getting at and it looks rather
groovy
>  but unfortunately what I actually need is the vector of the points on the
> boundary (the graphics just being a way of checking that everything's
as it
> should be) and so it rather looks like I need to do a lot of calculating of
> orthogonal vectors along straight stretches and circles round peaks
>
>     I'm looking to do an algorithmic filtration of strands which lie
within
> the "envelope" of other strands -- your method would allow visual
"by hand"
> inspection but unfortunately I've got hundreds of strands to compare!
>
>     But thanks again -- useful thoughts  Nick
>
>         > >
> >         On 02 November 2015 at 15:03 Duncan Murdoch
> > <murdoch.duncan at gmail.com> wrote:
> >
> >
> >         On 02/11/2015 7:33 AM, WRAY NICHOLAS wrote:
> >         > Hi I am plotting various strands of information, and I
want to
> >         > create an
> >         > "envelope" around each line, so that the locus
of the envelope is
> >         > the boundary
> >         > points no more than a fixed maximum distance from the
plotted
> >         > line, a bit like
> >         > drawing a larger rectangle with paralle sides and curved
compass
> >         > corners around
> >         > a smaller rectangle. Obviously I can work out how to do
this in
> >         > code
> >         > (eventually) but I suspect it would take me a while and i
was
> >         > wondering whether
> >         > there was some R function which I don't know about
which creates
> >         > sets of of
> >         > points at a given maximal distance
> >         >
> >         > the lines are simple vectors, ie like this noddy example
> >         >
> >         > veca<-c(4,3,6,5,7,3,2,3,3,6,8,7)
> >         > plot(veca,type="l",lwd=2)
> >         >
> >         > then I want to plot the locus of the boundary of all
points no
> >         > more than (say) 1
> >         > unit from the line I imagine that one would have to
provide a
> >         > larger set of
> >         > interpolated points between the actual points of veca,
but I can
> >         > do that no
> >         > problem
> >         >
> >         > I'd be grateful if anyone out there in the
R-ethervoid has any
> >         > ideas
> >
> >         The graphics system will do this for you automatically if your
> >         coordinate system has the same scale in x and y, and you use a
> > really
> >         huge line width. For example,
> >
> >         veca<-c(4,3,6,5,7,3,2,3,3,6,8,7)plot(veca, lwd=150,
col="gray",
> > type="l")lines(veca, lwd=2)
> >
> >
> >         If you want to be 1 unit away in user coordinates and the x
and y
> > scales
> >         are different, it will be a lot harder.
> >
> >         Duncan Murdoch
> >
> >     >
>     >