Re: Joining points of ListPlot
- To: mathgroup at smc.vnet.net
- Subject: [mg117320] Re: Joining points of ListPlot
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Tue, 15 Mar 2011 06:03:45 -0500 (EST)
y-values are mixed in the same List, you mean... not an Array... and the x-values are not with them? Bobby On Mon, 14 Mar 2011 05:57:45 -0500, Antonio Mezzacapo <ant.mezzacapo at gmail.com> wrote: > Tha problem is that all points are on the same array, and I don't know > the > functional form they have, so i can't separate the two arrays like you > did > in your third example. > It's like having Sin and Cos points on the same array, but they are not > Sin > and Cos, and I don't know their analytic form! > > AM > > 2011/3/13 Michael Stern <nycstern at gmail.com> > >> Can you provide an example of your data? Sorting by the independent >> variable should give you the results you want, as in my third example. >> >> MS >> >> Sent from a mobile device. >> >> On Mar 13, 2011, at 8:24 AM, Antonio Mezzacapo <ant.mezzacapo at gmail.com> >> wrote: >> >> Thank you for answering. >> >> I don't have any functional form of this points. I have only this array >> of >> points. Points on this array should be distributed *like* two crossing >> functions as Sin[x] and Cos[x], but I don't know the functional form of >> these functions. >> >> All that I have is an array of points! >> Because of the fact that these points distribute on the x-y cartesian >> plane >> like two crossing functions, I cannot use "joined->true" because it >> gives me >> strange results. >> >> Thank you >> Antonio >> >> 2011/3/13 Michael Stern < <nycstern at gmail.com>nycstern at gmail.com> >> >>> Antonio, >>> >>> Some points of your question are unclear, but perhaps this will cover >>> all >>> relevant cases. >>> >>> 1. If you have functions, the simplest way is: >>> >>> Plot[{Sin[x], Cos[x]}, {x, 0, 2*Pi}] >>> >>> 2. You refer to "joined points," however, which suggests that you may >>> be >>> dealing with lists of points rather than functions. If so, you can do >>> the >>> same thing as follows: >>> >>> (* creating the two lists *) >>> s1 = Table[Sin[x], {x, 0, 2*Pi, .1}]; >>> c1 = Table[Cos[x], {x, 0, 2*Pi, .1}]; >>> >>> (* plot *) >>> ListPlot[{s1, c1}, Joined -> True] >>> >>> >>> 3. You refer to the points not being ordered, from which I take that >>> one >>> or both of the lists of plots has cartesian coordinates, not ordered >>> by the >>> independent variable. In this case, you can use Sort or SortBy to put >>> them >>> in order. >>> >>> (* creating two cartesian lists, neither of which is 'ordered' by the >>> definition above *) >>> s2 = RotateLeft[Table[{x, Sin[x]}, {x, 0, 2*Pi, .1}]]; >>> c2 = RotateRight[Table[{x, Cos[x]}, {x, 0, 2*Pi, .1}]]; >>> >>> (* plot by sorted versions of these unordered lists *) >>> ListPlot[{SortBy[s2, First], SortBy[c2, First]}, Joined -> True] >>> >>> >>> Does that help? >>> >>> Michael >>> >>> >>> On Mar 13, 2011, at 6:25 AM, Antonio Mezzacapo wrote: >>> >>> > Hi, >>> > here's my problem: >>> > >>> > I have an array of data depicting two crossing functions (let's say >>> like >>> > Sin[x] and Cos[x]). How can I arrange them and make a joined points >>> plot, >>> > that joins only points belonging to the same function? >>> > I remember you that the points of the two crossing functions are on >>> the >>> same >>> > array and they are non-ordered. >>> > >>> > Thank you >>> > >>> > Antonio Mezzacapo >>> > >>> >>> >> -- DrMajorBob at yahoo.com