[SOLVED] Need some help with gnuplot (3d graphs)

"Please leave a message at the beep, we will get back to you when your support contract expires."

Moderators: phlip, Larson, Moderators General, Prelates

[SOLVED] Need some help with gnuplot (3d graphs)

Postby someh4x0r » Thu Mar 15, 2012 7:38 am UTC

I am trying to create a 3d graph using gnuplot. I am using gnuplot 4.4 patchlevel 3 (on Ubuntu 11.10). The data I am trying to plot consists of some values on a x-y grid. However, not every (x,y) point has a corresponding value. I am trying to get gnuplot to simply ignore these missing points and connect the points that are present using triangles. I can get gnuplot to properly plot my data using points, but I can't get gnuplot to plot the data with a 3d surface. The data I am trying to plot is:
Code: Select all
0   0   7.31
1   0   NaN
2   0   NaN
3   0   NaN
4   0   7.2
5   0   NaN
6   0   NaN
7   0   NaN
8   0   6.64
9   0   NaN
10   0   6.32
11   0   NaN
12   0   5.65
13   0   NaN
14   0   5.01
15   0   NaN
16   0   4.18
17   0   NaN
18   0   3.81
19   0   NaN
20   0   2.85
21   0   NaN
23   0   2.39
24   0   NaN
25   0   1.49
26   0   NaN
27   0   NaN
28   0   NaN
29   0   0.25

0   1   NaN
1   1   NaN
2   1   NaN
3   1   NaN
4   1   NaN
5   1   NaN
6   1   NaN
7   1   NaN
8   1   NaN
9   1   NaN
10   1   NaN
11   1   NaN
12   1   NaN
13   1   NaN
14   1   NaN
15   1   NaN
16   1   NaN
17   1   NaN
18   1   NaN
19   1   NaN
20   1   NaN
21   1   NaN
23   1   NaN
24   1   NaN
25   1   NaN
26   1   NaN
27   1   NaN
28   1   NaN
29   1   NaN

0   2   NaN
1   2   NaN
2   2   NaN
3   2   NaN
4   2   NaN
5   2   NaN
6   2   NaN
7   2   NaN
8   2   NaN
9   2   NaN
10   2   NaN
11   2   NaN
12   2   NaN
13   2   NaN
14   2   NaN
15   2   NaN
16   2   NaN
17   2   NaN
18   2   NaN
19   2   NaN
20   2   NaN
21   2   NaN
23   2   NaN
24   2   NaN
25   2   NaN
26   2   NaN
27   2   NaN
28   2   NaN
29   2   NaN

0   3   NaN
1   3   NaN
2   3   NaN
3   3   NaN
4   3   NaN
5   3   NaN
6   3   NaN
7   3   NaN
8   3   NaN
9   3   NaN
10   3   NaN
11   3   NaN
12   3   NaN
13   3   NaN
14   3   NaN
15   3   NaN
16   3   NaN
17   3   NaN
18   3   NaN
19   3   NaN
20   3   NaN
21   3   NaN
23   3   NaN
24   3   NaN
25   3   NaN
26   3   NaN
27   3   NaN
28   3   NaN
29   3   NaN

0   4   NaN
1   4   NaN
2   4   NaN
3   4   NaN
4   4   NaN
5   4   NaN
6   4   NaN
7   4   NaN
8   4   NaN
9   4   NaN
10   4   NaN
11   4   NaN
12   4   NaN
13   4   NaN
14   4   NaN
15   4   NaN
16   4   NaN
17   4   NaN
18   4   NaN
19   4   NaN
20   4   NaN
21   4   NaN
23   4   NaN
24   4   NaN
25   4   NaN
26   4   NaN
27   4   NaN
28   4   NaN
29   4   NaN

0   5   7.67
1   5   NaN
2   5   NaN
3   5   NaN
4   5   8.11
5   5   NaN
6   5   NaN
7   5   NaN
8   5   8.05
9   5   NaN
10   5   7.5
11   5   NaN
12   5   6.3
13   5   NaN
14   5   5.55
15   5   NaN
16   5   4.4
17   5   NaN
18   5   3.67
19   5   NaN
20   5   2.76
21   5   NaN
23   5   2.14
24   5   NaN
25   5   1.12
26   5   NaN
27   5   NaN
28   5   NaN
29   5   0.06

0   6   NaN
1   6   NaN
2   6   NaN
3   6   NaN
4   6   NaN
5   6   NaN
6   6   NaN
7   6   NaN
8   6   NaN
9   6   NaN
10   6   NaN
11   6   NaN
12   6   NaN
13   6   NaN
14   6   NaN
15   6   NaN
16   6   NaN
17   6   NaN
18   6   NaN
19   6   NaN
20   6   NaN
21   6   NaN
23   6   NaN
24   6   NaN
25   6   NaN
26   6   NaN
27   6   NaN
28   6   NaN
29   6   NaN

0   7   NaN
1   7   NaN
2   7   NaN
3   7   NaN
4   7   NaN
5   7   NaN
6   7   NaN
7   7   NaN
8   7   NaN
9   7   NaN
10   7   NaN
11   7   NaN
12   7   NaN
13   7   NaN
14   7   NaN
15   7   NaN
16   7   NaN
17   7   NaN
18   7   NaN
19   7   NaN
20   7   NaN
21   7   NaN
23   7   NaN
24   7   NaN
25   7   NaN
26   7   NaN
27   7   NaN
28   7   NaN
29   7   NaN

0   8   7.84
1   8   NaN
2   8   NaN
3   8   NaN
4   8   8.09
5   8   NaN
6   8   NaN
7   8   NaN
8   8   8
9   8   NaN
10   8   7.65
11   8   NaN
12   8   6.29
13   8   NaN
14   8   5.45
15   8   NaN
16   8   4.31
17   8   NaN
18   8   3.66
19   8   NaN
20   8   2.73
21   8   NaN
23   8   2.01
24   8   NaN
25   8   1.22
26   8   NaN
27   8   NaN
28   8   NaN
29   8   0.08

0   9   NaN
1   9   NaN
2   9   NaN
3   9   NaN
4   9   NaN
5   9   NaN
6   9   NaN
7   9   NaN
8   9   NaN
9   9   NaN
10   9   NaN
11   9   NaN
12   9   NaN
13   9   NaN
14   9   NaN
15   9   NaN
16   9   NaN
17   9   NaN
18   9   NaN
19   9   NaN
20   9   NaN
21   9   NaN
23   9   NaN
24   9   NaN
25   9   NaN
26   9   NaN
27   9   NaN
28   9   NaN
29   9   NaN

0   10   7.66
1   10   NaN
2   10   NaN
3   10   NaN
4   10   8.07
5   10   NaN
6   10   NaN
7   10   NaN
8   10   7.95
9   10   NaN
10   10   7.55
11   10   NaN
12   10   6.4
13   10   NaN
14   10   5.31
15   10   NaN
16   10   4.6
17   10   NaN
18   10   3.58
19   10   NaN
20   10   2.68
21   10   NaN
23   10   2.14
24   10   NaN
25   10   1.01
26   10   NaN
27   10   NaN
28   10   NaN
29   10   0.03

0   11   NaN
1   11   NaN
2   11   NaN
3   11   NaN
4   11   NaN
5   11   NaN
6   11   NaN
7   11   NaN
8   11   NaN
9   11   NaN
10   11   NaN
11   11   NaN
12   11   NaN
13   11   NaN
14   11   NaN
15   11   NaN
16   11   NaN
17   11   NaN
18   11   NaN
19   11   NaN
20   11   NaN
21   11   NaN
23   11   NaN
24   11   NaN
25   11   NaN
26   11   NaN
27   11   NaN
28   11   NaN
29   11   NaN

0   12   7.56
1   12   NaN
2   12   NaN
3   12   NaN
4   12   7.92
5   12   NaN
6   12   NaN
7   12   NaN
8   12   7.51
9   12   NaN
10   12   6.75
11   12   NaN
12   12   5.95
13   12   NaN
14   12   5.02
15   12   NaN
16   12   4.22
17   12   NaN
18   12   3.48
19   12   NaN
20   12   2.67
21   12   NaN
23   12   2.02
24   12   NaN
25   12   1.27
26   12   NaN
27   12   NaN
28   12   NaN
29   12   0.04

0   13   NaN
1   13   NaN
2   13   NaN
3   13   NaN
4   13   NaN
5   13   NaN
6   13   NaN
7   13   NaN
8   13   NaN
9   13   NaN
10   13   NaN
11   13   NaN
12   13   NaN
13   13   NaN
14   13   NaN
15   13   NaN
16   13   NaN
17   13   NaN
18   13   NaN
19   13   NaN
20   13   NaN
21   13   NaN
23   13   NaN
24   13   NaN
25   13   NaN
26   13   NaN
27   13   NaN
28   13   NaN
29   13   NaN

0   14   NaN
1   14   NaN
2   14   NaN
3   14   NaN
4   14   NaN
5   14   NaN
6   14   NaN
7   14   NaN
8   14   NaN
9   14   NaN
10   14   NaN
11   14   NaN
12   14   NaN
13   14   NaN
14   14   NaN
15   14   NaN
16   14   NaN
17   14   NaN
18   14   NaN
19   14   NaN
20   14   NaN
21   14   NaN
23   14   NaN
24   14   NaN
25   14   NaN
26   14   NaN
27   14   NaN
28   14   NaN
29   14   NaN

0   15   7.3
1   15   NaN
2   15   NaN
3   15   NaN
4   15   7.25
5   15   NaN
6   15   NaN
7   15   NaN
8   15   6.72
9   15   NaN
10   15   6.15
11   15   NaN
12   15   5.5
13   15   NaN
14   15   4.9
15   15   NaN
16   15   4.1
17   15   NaN
18   15   3.43
19   15   NaN
20   15   2.62
21   15   NaN
23   15   1.97
24   15   NaN
25   15   1.26
26   15   NaN
27   15   NaN
28   15   NaN
29   15   0.09

0   16   NaN
1   16   NaN
2   16   NaN
3   16   NaN
4   16   NaN
5   16   NaN
6   16   NaN
7   16   NaN
8   16   NaN
9   16   NaN
10   16   NaN
11   16   NaN
12   16   NaN
13   16   NaN
14   16   NaN
15   16   NaN
16   16   NaN
17   16   NaN
18   16   NaN
19   16   NaN
20   16   NaN
21   16   NaN
23   16   NaN
24   16   NaN
25   16   NaN
26   16   NaN
27   16   NaN
28   16   NaN
29   16   NaN

0   17   NaN
1   17   NaN
2   17   NaN
3   17   NaN
4   17   NaN
5   17   NaN
6   17   NaN
7   17   NaN
8   17   NaN
9   17   NaN
10   17   NaN
11   17   NaN
12   17   NaN
13   17   NaN
14   17   NaN
15   17   NaN
16   17   NaN
17   17   NaN
18   17   NaN
19   17   NaN
20   17   NaN
21   17   NaN
23   17   NaN
24   17   NaN
25   17   NaN
26   17   NaN
27   17   NaN
28   17   NaN
29   17   NaN

0   18   NaN
1   18   NaN
2   18   NaN
3   18   NaN
4   18   NaN
5   18   NaN
6   18   NaN
7   18   NaN
8   18   NaN
9   18   NaN
10   18   NaN
11   18   NaN
12   18   NaN
13   18   NaN
14   18   NaN
15   18   NaN
16   18   NaN
17   18   NaN
18   18   NaN
19   18   NaN
20   18   NaN
21   18   NaN
23   18   NaN
24   18   NaN
25   18   NaN
26   18   NaN
27   18   NaN
28   18   NaN
29   18   NaN

0   19   NaN
1   19   NaN
2   19   NaN
3   19   NaN
4   19   NaN
5   19   NaN
6   19   NaN
7   19   NaN
8   19   NaN
9   19   NaN
10   19   NaN
11   19   NaN
12   19   NaN
13   19   NaN
14   19   NaN
15   19   NaN
16   19   NaN
17   19   NaN
18   19   NaN
19   19   NaN
20   19   NaN
21   19   NaN
23   19   NaN
24   19   NaN
25   19   NaN
26   19   NaN
27   19   NaN
28   19   NaN
29   19   NaN

0   20   6.83
1   20   NaN
2   20   NaN
3   20   NaN
4   20   6.49
5   20   NaN
6   20   NaN
7   20   NaN
8   20   5.89
9   20   NaN
10   20   5.5
11   20   NaN
12   20   5
13   20   NaN
14   20   4.49
15   20   NaN
16   20   3.9
17   20   NaN
18   20   3.28
19   20   NaN
20   20   2.73
21   20   NaN
23   20   2.16
24   20   NaN
25   20   1.47
26   20   NaN
27   20   NaN
28   20   NaN
29   20   0.63


If I plot it using
Code: Select all
set datafile missing "NaN"
splot "test.txt"
I can get a set of points as expected. If I add "with lp" to the splot command, nothing happens. If I use
Code: Select all
set datafile missing "NaN"
set pm3d
splot "test.txt"
nothing happens either except that I get a color gradient on the right (the graph is still points). If I add "with lp", nothing changes. If I use
Code: Select all
set datafile missing "NaN"
set pm3d
set dgrid3d
splot "test.txt"
then I get a surface graph with crazy values around 2e+250. If I use "set dgrid3d 30,21" I get a differently shaped graph with similar nonsensical values. Can somebody help me figure out how to make a surface graph that ignores missing points?
Last edited by someh4x0r on Sat Mar 24, 2012 5:03 am UTC, edited 1 time in total.
someh4x0r
 
Posts: 3
Joined: Sat May 28, 2011 12:56 am UTC

Re: Need some help with gnuplot (3d graphs)

Postby scarecrovv » Thu Mar 15, 2012 4:52 pm UTC

I've always found gnuplot a little confusing, but here's a MATLAB script that will do what you want.
Code: Select all
function someh4x0r()
   data = [0 0 7.31;
      4 0 7.2;
      8 0 6.64;
      10 0 6.32;
      12 0 5.65;
      14 0 5.01;
      16 0 4.18;
      18 0 3.81;
      20 0 2.85;
      23 0 2.39;
      25 0 1.49;
      29 0 0.25;
      0 5 7.67;
      4 5 8.11;
      8 5 8.05;
      10 5 7.5;
      12 5 6.3;
      14 5 5.55;
      16 5 4.4;
      18 5 3.67;
      20 5 2.76;
      23 5 2.14;
      25 5 1.12;
      29 5 0.06;
      0 8 7.84;
      4 8 8.09;
      8 8 8;
      10 8 7.65;
      12 8 6.29;
      14 8 5.45;
      16 8 4.31;
      18 8 3.66;
      20 8 2.73;
      23 8 2.01;
      25 8 1.22;
      29 8 0.08;
      0 10 7.66;
      4 10 8.07;
      8 10 7.95;
      10 10 7.55;
      12 10 6.4;
      14 10 5.31;
      16 10 4.6;
      18 10 3.58;
      20 10 2.68;
      23 10 2.14;
      25 10 1.01;
      29 10 0.03;
      0 12 7.56;
      4 12 7.92;
      8 12 7.51;
      10 12 6.75;
      12 12 5.95;
      14 12 5.02;
      16 12 4.22;
      18 12 3.48;
      20 12 2.67;
      23 12 2.02;
      25 12 1.27;
      29 12 0.04;
      0 15 7.3;
      4 15 7.25;
      8 15 6.72;
      10 15 6.15;
      12 15 5.5;
      14 15 4.9;
      16 15 4.1;
      18 15 3.43;
      20 15 2.62;
      23 15 1.97;
      25 15 1.26;
      29 15 0.09;
      0 20 6.83;
      4 20 6.49;
      8 20 5.89;
      10 20 5.5;
      12 20 5;
      14 20 4.49;
      16 20 3.9;
      18 20 3.28;
      20 20 2.73;
      23 20 2.16;
      25 20 1.47;
      29 20 0.63];

   x = data(:,1);
   y = data(:,2);
   z = data(:,3);
   triangles = delaunay(x, y);

   trisurf(triangles, x, y, z)

I would suggest GNU Octave, but sadly Octave's implementation of trisurf seems to be buggy. It's being worked on, but for the moment I think MATLAB is your only option for this. Unless you want to play around with patches and development versions and compiling it yourself and such.
User avatar
scarecrovv
 
Posts: 583
Joined: Wed Jul 30, 2008 4:09 pm UTC
Location: Massachusetts

Re: Need some help with gnuplot (3d graphs)

Postby someh4x0r » Thu Mar 15, 2012 5:13 pm UTC

Unfortunately, I don't have MATLAB. I can probably figure out how to compile GNU Octave. Is there a particular version/patch I need?
someh4x0r
 
Posts: 3
Joined: Sat May 28, 2011 12:56 am UTC

Re: Need some help with gnuplot (3d graphs)

Postby Yakk » Mon Mar 19, 2012 4:45 pm UTC

Have you tried deleting the lines with NaN in them?
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.
User avatar
Yakk
 
Posts: 10038
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Need some help with gnuplot (3d graphs)

Postby someh4x0r » Sat Mar 24, 2012 5:02 am UTC

I've managed to plot my data. I used Octave 3.2.4 from Ubuntu Oneiric. I used the code from scarecrovv except I used trisurf(triangles,x,y,z,"facecolor","interp") instead of simply trisurf(triangles,x,y,z). The default trisurf just draws a bunch of random triangles in the wrong place. Thank you for your help. The complete code (in case anybody in the future might be able to use it) is
Code: Select all
data = [0 0 7.31;
4 0 7.2;
8 0 6.64;
10 0 6.32;
12 0 5.65;
14 0 5.01;
16 0 4.18;
18 0 3.81;
20 0 2.85;
23 0 2.39;
25 0 1.49;
29 0 0.25;
0 5 7.67;
4 5 8.11;
8 5 8.05;
10 5 7.5;
12 5 6.3;
14 5 5.55;
16 5 4.4;
18 5 3.67;
20 5 2.76;
23 5 2.14;
25 5 1.12;
29 5 0.06;
0 8 7.84;
4 8 8.09;
8 8 8;
10 8 7.65;
12 8 6.29;
14 8 5.45;
16 8 4.31;
18 8 3.66;
20 8 2.73;
23 8 2.01;
25 8 1.22;
29 8 0.08;
0 10 7.66;
4 10 8.07;
8 10 7.95;
10 10 7.55;
12 10 6.4;
14 10 5.31;
16 10 4.6;
18 10 3.58;
20 10 2.68;
23 10 2.14;
25 10 1.01;
29 10 0.03;
0 12 7.56;
4 12 7.92;
8 12 7.51;
10 12 6.75;
12 12 5.95;
14 12 5.02;
16 12 4.22;
18 12 3.48;
20 12 2.67;
23 12 2.02;
25 12 1.27;
29 12 0.04;
0 15 7.3;
4 15 7.25;
8 15 6.72;
10 15 6.15;
12 15 5.5;
14 15 4.9;
16 15 4.1;
18 15 3.43;
20 15 2.62;
23 15 1.97;
25 15 1.26;
29 15 0.09;
0 20 6.83;
4 20 6.49;
8 20 5.89;
10 20 5.5;
12 20 5;
14 20 4.49;
16 20 3.9;
18 20 3.28;
20 20 2.73;
23 20 2.16;
25 20 1.47;
29 20 0.63];

x = data(:,1);
y = data(:,2);
z = data(:,3);

triangles = delaunay(x,y);
trisurf(triangles, x, y, z, "facecolor", "interp");
someh4x0r
 
Posts: 3
Joined: Sat May 28, 2011 12:56 am UTC


Return to The Help Desk

Who is online

Users browsing this forum: No registered users and 6 guests