[R] Creating "Envelope" around a plot
Duncan Murdoch
murdoch.duncan at gmail.com
Mon Nov 2 16:03:39 CET 2015
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
More information about the R-help
mailing list