Re: Plot Joined Intelligently
- To: mathgroup at smc.vnet.net
- Subject: [mg30523] Re: Plot Joined Intelligently
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Fri, 24 Aug 2001 20:58:16 -0400 (EDT)
- References: <9m52p8$qgn$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hugh, Not an answer to your interesting problem of joining to nearest points, but you might m ake somethig of a three dimensional version of your plot, with z values given by bthe parameter g: data=Join@@ Table[{Re[#],Im[#],g}&/@ Flatten[s/.NSolve[s^10+g^10 (1+s)\[Equal]0,s]],{g,0,2,0.05}]; Show[Graphics3D[Point/@data]] -- Allan --------------------- Allan Hayes Mathematica Training and Consulting Leicester UK www.haystack.demon.co.uk hay at haystack.demon.co.uk Voice: +44 (0)116 271 4198 Fax: +44 (0)870 164 0565 "Hugh Goyder" <goyder at rmcs.cranfield.ac.uk> wrote in message news:9m52p8$qgn$1 at smc.vnet.net... > Dear Mathgroup, > > A list of {x, y} values supplied to ListPlot, with PlotJoined -> True, > sensibly joins the points in the order of the list. Sometimes I produce > points that lie on a set of smooth curves but do not produce the points in > any particular order. How can I join the points to form a line > intelligently, for example, joining each point to its nearest neighbour? > > An example. I solve for the roots of a polynomial with a parameter g that I > vary. I convert the complex values to {x,y} pairs. I then plot using > ListPlot which clearly shows that the roots lie along definite curves. How > can I join the points up to make the curves lines? > > data = {Re[#], Im[#]} & /@ Flatten[Table[s /. NSolve[s^10 + g^10 (1 + s) == > 0, s], {g, 0, 2, 0.05}]]; > > ListPlot[ data]; > > > Thanks > > Hugh Goyder >