Re: plot on condition
- To: mathgroup at smc.vnet.net
- Subject: [mg56253] Re: [mg56218] plot on condition
- From: "Wolf, Hartmut" <Hartmut.Wolf at t-systems.com>
- Date: Wed, 20 Apr 2005 05:31:17 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
>-----Original Message----- >Sent: Tuesday, April 19, 2005 10:56 AM >Subject: [mg56253] [mg56218] plot on condition > >hello >my question about plotting a list of points but with some >condition depends on >the status of points in other list; >pnts={{1,2},{5,4},{3,2},{2,6},{5,3}}; >cnd={7,3,5,8,3}; >the condition is: plot a point in list "pnts" in Blue if the >corresponding >element in list "cnd" is 3 else plot in Green >regards > > Define a function for the graphics directives gd[3] = Sequence[PointSize[.025], Hue[2/3, 1, .7]]; gd[_] = Sequence[PointSize[.015], Hue[1/3, 1, .7]]; ...and MapThread Show[Graphics[{PointSize[.025], MapThread[{gd[#2], Point[#1]} &, {pnts, cnd}]}]] Of course, in case of only a single graphics directive you need no Sequence, in case of none, {} is good as well as Sequence[], e.g.: gd[3] = Sequence[PointSize[.025], Hue[2/3, 1, .7]]; gd[_] = {}; Show[Graphics[{PointSize[.015], Hue[1/3, 1, .7], MapThread[{gd[#2], Point[#1]} &, {pnts, cnd}]}]] -- Hartmut Wolf