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.
Answer
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]
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.
Comments
Post a Comment