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”

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

6 Comments to “GNUPLOT – 3d plot surface”

  1. Martin 20 December 2009 at 7:33 pm #

    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 :)

  2. piponazo 4 February 2010 at 1:53 pm #

    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 ?

  3. damiles 4 February 2010 at 2:25 pm #

    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.

  4. masdel 11 June 2010 at 10:56 am #

    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

  5. damiles 11 June 2010 at 11:21 am #

    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.

  6. Wavemeala 18 August 2010 at 2:18 am #

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


Leave a Reply