Ted Freeman wrote: > I'm new to R, after many years of using Matlab. I've found the R > function 'polygon' to be nearly equivalent to the Matlab function > 'patch'. For example, the R commands: > > plot(c(0, 5), c(0, 4), type = 'n', asp = 1, ann = FALSE) > x <- c(1, 2, 2, 1.5, 1) > z <- c(1, 1, 2, 1.7, 2) > polygon(x, z, col = 'green') > > produce a plot with a small green shape exactly as I expect. A nearly > identical plot can be made in Matlab with these commands: > > x = [1, 2, 2, 1.5, 1]; > z = [1, 1, 2, 1.7, 2]; > patch(x, z, 'g') > axis([0, 5, 0, 4]) > box on > > In Matlab I am able to extend this quite easily to a three-dimensional > plot by simply adding one more vector argument to 'patch'. I don't see > how to do this in R using 'polygon'. (I've primarily looked at > scatterplot3d.) Is there another function I can use? > > Since I expect that many of you do not use Matlab, I've put two > graphics showing the example above (Plot 1) and a similar > three-dimensional plot (Plot 2) on this page: > http://staff.washington.edu/freeman/patch.html.
Hi, I've got a plot3d() and polygon3d() function in the R.basic package (http://www.braju.com/R/). Example: library(R.basic) # plot3d() and polygon3d() xb <- c(0, 4, 4, 0, 0) yb <- c(0, 3, 3, 0, 0) zb <- c(0, 0, 4, 4, 0) plot3d(xb,yb,zb, type="l", theta=35, phi=30) x <- c(0.8, 1.6, 1.6, 1.2, 0.8) y <- c(0.6, 1.2, 1.2, 0.9, 0.6) z <- c(1, 1, 2, 1.7, 2) polygon3d(x,y,z, col="green") This gives a similar plot to what Matlab creates. /Henrik > It's Plot 2 that I'd like to be able to reproduce in R. > > Thanks for any advice! > > -- Ted > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html > > ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
