Re: ListPointPlot3D
- To: mathgroup at smc.vnet.net
- Subject: [mg83021] Re: ListPointPlot3D
- From: Norbert Marxer <marxer at mec.li>
- Date: Wed, 7 Nov 2007 06:54:50 -0500 (EST)
- References: <fgpa06$iu2$1@smc.vnet.net>
On 6 Nov., 09:52, SkyW <apa... at lpg.es> 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? > > Thanks in advance. Best regards Hello The following code will do what you want: liRed = Select[list0, #1[[4]] == 1 & ][[All, 1 ;; 3]]; liBlue = Select[list0, #1[[4]] == 0 & ][[All, 1 ;; 3]]; ListPointPlot3D[{liRed, liBlue}, PlotStyle -> {Red, Blue}] You can test it with: Clear[ri, rc, liRed, liBlue, list0]; SeedRandom[3]; ri := RandomInteger[{1, 10}]; rc := RandomChoice[{0, 1}]; list0 = Table[{ri, ri, ri, rc}, {100}]; liRed = Select[list0, #1[[4]] == 1 & ][[All, 1 ;; 3]]; liBlue = Select[list0, #1[[4]] == 0 & ][[All, 1 ;; 3]]; ListPointPlot3D[{liRed, liBlue}, PlotStyle -> {Red, Blue}] Best Regards Norbert Marxer