# Plotting in Mathematica

1. Jun 21, 2008

### Orson1981

I'm going through "The Chaos Cookbook" right now, a fairly old book on chaos programming. A bit too old I'm afraid, all the programs are written in Pascal and Basic. I had been using Excel (well, Open Office Calc) to do the iterations and graphing, but I feel that the size of the programs are out growing the scope of Excel. I wrote a C++ program to create the data points for a Martin diagram of the Logistics equation (the data is here http://www.box.net/shared/kr2cz5es0g if you care).

My question is how can I get mathematica to turn these data points into a graph, and/or is there perhaps better software I should be using for something like this (The main advantage is I get mathematica for free from my university).

It might be worth adding I can, pretty much, change the format of the data from that file at will if someone thinks a different format would work better.

Thanks for your help!

2. Jun 22, 2008

### CompuChip

You could start by something like

Code (Text):

data = Import["data.txt", "Data"];
ListPlot[data]

and then probably do some processing (filter the data, make a fit, etc) as your data looks a bit strange.

3. Jun 22, 2008

### DavidHyde

After sorting your input in DPlot (www.dplot.com), the default plot you get is shown here:

If you try DPlot and have any questions please let me know at support@dplot.com.

David Hyde

4. Jun 22, 2008

### CompuChip

Hmm, I found something strange in Mathematica 6.0. If there are still empty lists (corresponding to empty lines in the source file) in the data you feed to ListPlot, you get a junk image. So you have to filter those out on import. The following does work and plots all the data points (also those missing in David's post):
Code (Text):

data = Select[Import["data.txt", "Data"], Length[#] > 1 &];
ListPlot[data]

(By the way you have 20 newlines and 845 obsolete points in your list)

5. Jun 22, 2008

### Crosson

Here is another way to deal with the empty lists:

Code (Text):
data = DeleteCases[Import["data.txt", "Data"], {}];
ListPlot[data]

6. Jun 22, 2008

### DavidHyde

Whoops, I overlooked the blank lines, as did DPlot. You can copy/paste the individual data sets (assuming that's what they are) or send each set to DPlot programmatically, then Edit>Swap X,Y, Edit>Sort, and Edit>Swap X,Y to restore the original order. It isn't clear if this is what you're after or not, but here's the result:

7. Jun 23, 2008

### Orson1981

Thanks everyone for your input,

To David: I tried DPlot over the weekend and could manage to make it give me anything, I'll re-read your second post and try again this evening. I really could use a program that can do things like this easily, so I'm hoping it works out.

To CompuChip and Crosson: I tried your suggested line of code to no effect, I checked the mathematica help file and it appears that 5.2 doesn't support the function "Data" for the import command. I tried to fiddle around with the "List" command and the "Table" command but only ended up with blank graphs.

I've changed up my program to get rid of the white spaces and got rid of the bad data. The new list can be found at the same place as the old list. http://www.box.net/shared/kr2cz5es0g

The data itself is from the logistics equation x1 = k * x * (1-x). Each set of data points is formatted as: x1 , x . Then x1 becomes the new x and the program is run again to produce a new set of points. Knowing I could get it working in excel so I threw it in and got

note: this is with many more data points than in the above text file, plus I switched the x - y axis for cosmetic reasons.

This takes a long time to process in excel though so I'm still hoping for another option such as mathematica (which would be nice for many reasons) or DPlot.

8. Jun 23, 2008

### chroot

Staff Emeritus
Consider gnuplot. It's stable, easy to use, and has been around forever.

- Warren

9. Jun 23, 2008

### DavidHyde

There was so much scatter in your data that I thought you must have intended the blank lines to be delineators between data sets... or something.

With a text file containing comma- or tab-separated values like yours, you can just drag the file onto the DPlot window and it will interpret it correctly. Alternatively after selecting File>Open, pick file type "D Multiple columns e.g. CSV files".

When I do that with your updated file and turn symbols on, lines off, I get:

Should probably take any DPlot questions off-line - I don't mind answering questions but as a newbie here I don't want to wear out my welcome, either. You can get me at support@dplot.com.

10. Jun 24, 2008

### CompuChip

Try "CSV"

You can probably easily make the list in Mathematica to begin with, using NestList and related functions.

To do this in Mathematica, you can just map the elements of the list to Reverse:
Code (Text):
ListPlot[Reverse /@ data]