GNUPLOT – 3d plot surface
For 3d plot gnuplot use command splot.
splot sin(sqrt((x*x+y*y)))/sqrt(x*x+y*y) t “weaves”
We can add the style pm3d to add a gradient surface texture
splot sin(sqrt((x*x+y*y)))/sqrt(x*x+y*y) with pm3d t “weaves”
But you can see we need more resolution, then we must set more isosamples:
set isosamples 75,75
For more info go to gnuplot page
6 Comments to “GNUPLOT – 3d plot surface”
Leave a Reply








In case you would be interested to do the same in Java easily, just try this nice library: http://code.google.com/p/jzy3d/
Ok, that’s kind of advert
Hi! I want to plot a surface with gnuplot but instead of having a function I have a data file with point coordinates in the two first colums and values of in the third column. Is it possible to plot the surface with my data file ?
Hi! piponazo, it’s simply and it’s possible.
The file must have this format:
x1 y1 val
x1 y2 val
x1 … val
x1 yn val
x2 y1 val
x2 y2 val
x2 … val
x2 yn val
…
xm y1 val
xm y2 val
xm … val
xm yn val
You must keep care separating each block of x
This is a example
1 1 4
1 2 3
1 3 1
1 4 5
2 1 1
2 2 4
2 3 6
2 4 1
3 1 0
3 2 2
3 3 7
3 4 1
4 1 1
4 2 5
4 3 4
4 4 7
And you can plot with:
splot ‘data.dat’ with lines
or
splot ‘data.dat’ with pm3d
or any permited by gnuplot.
hi, nice article, i wanna ask something, is it possible to have splot in pm3d mode and wireframe at once in the same surface?
if it yes, how to do that?
thank you
Hi, you can use
set pm3d hidden3d
for example:
set style line 1 lt 6 lw 3
set pm3d hidden3d 1
splot sin(sqrt((x*x+y*y)))/sqrt(x*x+y*y) with pm3d t “weaves”
Regards.
Hello
I’m a computer engineer, 33, and fan of 3d technology, nothing more to say, just thanks for this website !