[R] how to draw manifold?

David Winsemius dwinsemius at comcast.net
Sun Nov 21 21:49:44 CET 2010


On Nov 21, 2010, at 3:42 PM, baptiste auguie wrote:

> Hi,
>
> I'm joining in with a question -- is it possible to vary the color of
> the lines along z? The 'colors' argument doesn't seem to allow a
> vector in this situation.

This section of the code (which appears fairly close to the beginning,  
makes me think that the color argument is passed as part of the x  
argument.
----
     if (!is.null(d <- dim(x)) && (length(d) == 2) && (d[2] >=
         4))
         color <- x[, 4]
     else if (is.list(x) && !is.null(x$color))
         color <- x$color

-----

Either as the 4th column of a matrix or as a "color"-list-element.

David.
>
> Thanks,
>
> baptiste
>
>
>
> On 21 November 2010 21:02, Carl Witthoft <carl at witthoft.com> wrote:
>> Thanks, Dennis.   Here's an enhanced version:
>>
>>  z <- seq(-10, 10, 0.1)
>>  zm<-cbind(z,z,z,z,z,z,z,z,z,z)
>>
>> ym<-matrix(nr=201,nc=10)
>> for (i in seq(1,201)) {
>>        for (j in seq(1,10)) ym[i,j]<-j/10*sin(zm[i,1])}
>>
>> xm<-matrix(nr=201,nc=10)
>> for (i in seq(1,201)) {
>>        for (j in seq(1,10)) xm[i,j]<-j/10*cos(zm[i,1])}
>>
>>
>> scatterplot3d(as.vector(t(xm)), as.vector(t(ym)), as.vector(t(zm)),  
>> main =
>> 'Helix', pch = ".",type='l')
>>
>>
>> From there I can draw a few helical lines by modifying your  
>> original code
>> (for different radii), and end up with a pretty decent "mesh  
>> surface."
>>
>> Carl
>>
>>
>> On 11/20/10 12:03 PM, Dennis Murphy wrote:
>>>
>>> Hi:
>>>
>>> Here's an example stolen out of the scatterplot3d package vignette  
>>> (p. 9):
>>>
>>> library(scatterplot3d)
>>> z<- seq(-10, 10, 0.01)
>>> x<- cos(z)
>>> y<- sin(z)
>>> scatterplot3d(x, y, z, highlight.3d = TRUE, col.axis = 'blue',
>>>               col.grid = 'lightblue', main = 'Helix', pch = 20)
>>>
>>> HTH,
>>> Dennis
>>>
>>> On Sat, Nov 20, 2010 at 8:29 AM, Carl Witthoft<carl at witthoft.com>   
>>> wrote:
>>>
>>>> Hi,
>>>> I need some help either in how to configure variables for  
>>>> wireframe(), or
>>>> some suggestions as to other graphics commands to use for  
>>>> plotting a 2-D
>>>> manifold in 3-D space.
>>>>
>>>> Here is an example I tried (in the hopes that it would plot a  
>>>> helical
>>>> line)
>>>> :
>>>>
>>>> xsp<-matrix(c(cos(seq(0,80)/5)),9,9)
>>>> ysp<-matrix(c(sin(seq(0,80)/5)),9,9)
>>>> zsp<-matrix(c((seq(0,80)/20)),9,9)
>>>> wireframe(zsp~xsp*ysp)
>>>>
>>>> The resulting plot looks vaguely like a helix, but not right.   
>>>> And if I
>>>> change my variables' dimensions to c(3,27) it looks "better," but  
>>>> if the
>>>> dims are c(1,81), nothing gets plotted.
>>>>
>>>> So: is there a way to control which points are connected by lines  
>>>> in
>>>> wireframe()?  Or is there a more appropriate way to provide a  
>>>> plotting
>>>> program with sets of coordinates in 3-space?
>>>>
>>>> My primary goal is to be able to plot surfaces, not just a line  
>>>> as in my
>>>> sample code.  For example, I might expand the data above to  
>>>> represent
>>>> points
>>>> on a 'ribbon' helix.
>>>>
>>>> Thanks for yr. help -- feel free to point me to help files for  
>>>> existing
>>>> packages or plotting routines.
>>>>
>>>> Carl
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list
>>>> 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.
>>>>
>>>
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> 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.
>>
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list