Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I would like to know how to plot when I have a large number of points (arround 600) in a specific format:

X          Y
1.000E-03 1.251E+01 
1.500E-03 1.201E+01 
2.000E-03 1.144E+01 
2.484E-03 1.088E+01 
2.484E-03 1.088E+01 
2.534E-03 1.082E+01 
2.586E-03 1.076E+01 
2.586E-03 1.076E+01 
3.000E-03 1.027E+01 
3.066E-03 1.019E+01 
3.066E-03 1.019E+01 

All I need is to draw a line trought those points, but it would be anoying to write points in format (x1,y1), (x2,y2), .... It would be tedious if I had to insert the commas and braces by hand for every pair of points coordinates.

I'm totaly new in Mathematica and I would appreciate help.

share|improve this question
2  
Why do you want to do it with Mathematica, if you don't know anything about it? Is this some kind of homework? –  belisarius Mar 24 '13 at 2:26
    
Could you please upload a sample datafile somewhere so people can help your more easily? –  s0rce Mar 24 '13 at 2:41
1  
If your data is in a file and in the format you show, you can use the Import function to read it in and convert it to a list of points that Mathematica can process. –  m_goldberg Mar 24 '13 at 3:40
1  
I recall a day not so long ago where I felt exactly the same way as this user (w.r.t. adding braces and commas to data). I see no reason to down-vote the question. For those who are used to Excel and SPSS etc. basic importing of data isn't as trivial as it might seem to a seasoned M programmer. –  Andy Ross Mar 24 '13 at 4:37
2  
The downvoting is (I presume) to encourage people to read the documentation first and then post a question once that fails to deliver enlightenment (which can happen...). Here, it's not clear whether the OP has found the documentation yet. –  cormullion Mar 24 '13 at 8:05

4 Answers 4

up vote 8 down vote accepted

Here is a complete walkthrough to expand on Zahra's answer a little. I'm assuming that the exact contents of the example in your question is saved in a text (ASCII) file data.dat in your home directory (or the current working directory of your notebook).

dataContent = Import["data.dat"]

(*
==> {{"X", "Y"}, {0.001, 12.51}, {0.0015, 12.01}, {0.002, 
  11.44}, {0.002484, 10.88}, {0.002484, 10.88}, {0.002534, 
  10.82}, {0.002586, 10.76}, {0.002586, 10.76}, {0.003, 
  10.27}, {0.003066, 10.19}, {0.003066, 10.19}}
*)

dataPoints = Rest[dataContent]

(*
==> {{0.001, 12.51}, {0.0015, 12.01}, {0.002, 11.44}, {0.002484, 
  10.88}, {0.002484, 10.88}, {0.002534, 10.82}, {0.002586, 
  10.76}, {0.002586, 10.76}, {0.003, 10.27}, {0.003066, 
  10.19}, {0.003066, 10.19}}
*)

labels = First[dataContent]

(* ==> {"X", "Y"} *)

ListLinePlot[dataPoints, Frame -> True, FrameLabel -> labels]

plot

By the way, if you don't want to see the long list output after the Import command, end the line with a semicolon ; so that no result is returned. Same for the other lines. I just allowed it to print the resulting lists so you can see what's happening.

share|improve this answer

Save your file as e.g. data.dat . Use Import to import your data to mathematica, then just plot it. And have a look at this link: http://reference.wolfram.com/mathematica/tutorial/ImportingAndExportingData.html

Good luck :)

share|improve this answer
    
Thank you all for quick answer. You were very helpfull. (And for those who asks why am I using Mathematica, answer is I see it's much more elegant then other programs (Mathlab or Excel) –  rtm86 Mar 24 '13 at 9:21

Just to note that ImportString can be useful here, if the data is on the clipboard rather than saved in a file. Just type

data = ImportString["", "Table"];

into a notebook and paste the data between the quotes.

share|improve this answer

For one-off plotting of a moderate amount of data one of my favorite methods is to use Szabolcs's Paste Tabular Data palette. With this installed you just copy your data to the clipboard then click the Table button:

Mathematica graphics

and the data is pasted in a format Mathematica can use. I add // ListLinePlot to plot:

{{0.001`, 12.51`}, {0.0015`, 12.01`}, {0.002`, 11.44`}, {0.002484`, 10.88`}, {0.002484`, 
   10.88`}, {0.002534`, 10.82`}, {0.002586`, 10.76`}, {0.002586`, 10.76`}, {0.003`, 
   10.27`}, {0.003066`, 10.19`}, {0.003066`, 10.19`}} // ListLinePlot

Mathematica graphics

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.