Re: List plotting a vector field containing invalid data
- To: mathgroup at smc.vnet.net
- Subject: [mg52156] Re: List plotting a vector field containing invalid data
- From: Peter Pein <petsie at arcor.de>
- Date: Fri, 12 Nov 2004 02:14:29 -0500 (EST)
- References: <cmvebb$shp$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Gareth Owen wrote: > I'm solving a 2D CFD problem, which is generating a lot of co-located 2D > velocity field data, using a regular rectangular grid. Some of the grid is > masked out, representing ocean bottom topography. > > Is there a relatively simple way to modify ListPlotVectorField to ignore the > masked out values (which are stored as as unphysically large values, but this > is easily modified) > > Thanks. > Let's assume your data is in "data" and the unphysically large values are >= "nonsense". Then Block[{$DisplayFunction = Identity}, rawplot = ListPlotVectorField[data] ]; finalplot = rawplot /. {Arrow[{x1_, y1_}, {x2_, y2_}, r___]} /; (x2 - x1)^2 + (y2 - y1)^2 >= nonsense^2 -> {GrayLevel[1], Point[{x1, y1}]}; Show[finalplot]; should be an iteration for your desired result. -- Peter Pein Berlin