Re: Joining points of ListPlot

• To: mathgroup at smc.vnet.net
• Subject: [mg117286] Re: Joining points of ListPlot
• From: Michael Stern <nycstern at gmail.com>
• Date: Mon, 14 Mar 2011 05:58:19 -0500 (EST)

```The functional form was in the third example only to generate sample data. The plotting function worked perfectly for that sample data, and should work for your data as well. If you will share some of your data, I can be more explicit. What does your array look like? For example, is it {{function 1 point 1, function 2 point 1},{function 2, point 2, function 2 point 2} . . . } or is it {{function 1 point 1, function 1 point 2 . . . }, {function 2 point 1, function 2 point 2 . . . }}. Either one is easily handled, but you can't expect us to be psychic.

Michael

On Mar 13, 2011, at 11:17 AM, Antonio Mezzacapo 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>
>> 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 bedealing 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
>> >
>>
>>

```

• Prev by Date: Re: Joining points of ListPlot
• Next by Date: Re: Vectorized molecular dynamics with Mathematica?
• Previous by thread: Re: Joining points of ListPlot
• Next by thread: Re: Joining points of ListPlot