Re: ListPointPlot3D
- To: mathgroup at smc.vnet.net
- Subject: [mg83012] Re: ListPointPlot3D
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Wed, 7 Nov 2007 06:34:31 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <fgpa06$iu2$1@smc.vnet.net>
SkyW wrote: > Hi, > > I would like to use ListPointPlot3D to plot several points in two different colors (ex. blue and red). I have a Table with following format: > > list0={{x1, y1, z1, h1}, {x2, y2, z2, h2}, ..., {xn, yn, zn, hn}} > > x,y,z refers to the 3D coordinates and h takes value 0 or 1. I would like to plot all points with h value equal to 1 as red and all points with h value equal to 0 as blue .... how can I do it? First, we make up some data to populate list0 in the required format. list0 = Flatten[ Table[{x, y, Sqrt[1 - x^2 - y^2], If[x y < 0, 0, 1]}, {x, -1, 1, 0.05}, {y, -1, 1, 0.1}], 1]; Then, we create two lists that contain the coordinates of the points that must be drawn in red and in blue, respectively, and plot these two lists with the appropriate *PlotStyle*. Module[{redpts = {}, bluepts = {}}, If[#[[-1]] == 0, AppendTo[redpts, #[[1 ;; 3]]], AppendTo[bluepts, #[[1 ;; 3]]]] & /@ list0; ListPointPlot3D[{redpts, bluepts}, PlotStyle -> {Red, Blue}] ] You can see the result at http://homepages.nyu.edu/~jmg336/mathematica/listpointplot3d.pdf Best regards, -- Jean-Marc