GNUPLOT – 3d plot surface

Oct 26, 2008 by     8 Comments    Posted under: Linux/Unix, other, Tutorials

For 3d plot gnuplot use command splot.

splot sin(sqrt((x*x+y*y)))/sqrt(x*x+y*y) t “weaves”

Gnuplot surface wireframe

Gnuplot surface wireframe

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”

Gnuplot surface 3d pm3d

Gnuplot surface 3d pm3d

But you can see we need more resolution, then we must set more isosamples:

set isosamples 75,75

Gnuplot surface with pm3d and isosample 75,75

Gnuplot surface with pm3d and isosample 75,75

For more info go to gnuplot page

8 Comments + Add Comment

  • In case you would be interested to do the same in Java easily, just try this nice library:

    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


    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”


  • Hello
    I’m a computer engineer, 33, and fan of 3d technology, nothing more to say, just thanks for this website !

  • Hi!

    What if my data is such that I don’t have the same number of y elements for each x value. Is there a way to produce 3d graphs with that sort of data set?


  • Hi
    Thank you for your contribution!
    It’s been a big help!

Got anything to say? Go ahead and leave a comment!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">