Gnuplot is a portable command-line driven graphing utility for Windows platform. It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by third-party applications like Octave.
Gnuplot supports many types of plots in either 2D and 3D. It can draw using lines, points, boxes, contours, vector fields, surfaces, and various associated text. It also supports various specialized plot types. Gnuplot is easily extensible to include new output modes.
More info Gnuplot
# $Id: surface1.dem,v 1.15 2017/03/01 18:42:49 sfeam Exp $
set title '3D surface from a grid (matrix) of Z values'
set xrange [-0.5:4.5]
set yrange [-0.5:4.5]
$grid << EOD
5 4 3 1 0
2 2 0 0 1
0 0 0 1 0
0 0 0 2 3
0 1 2 4 3
splot '$grid' matrix with lines notitle
set samples 21
set isosample 11
set xlabel 'X axis' offset -3,-2
set ylabel 'Y axis' offset 3,-2
set zlabel 'Z axis' offset -5
set title '3D surface from a function'
set label 1 'This is the surface boundary' at -10,-5,150 center
set arrow 1 from -10,-5,120 to -10,0,0 nohead
set arrow 2 from -10,-5,120 to 10,0,0 nohead
set arrow 3 from -10,-5,120 to 0,10,0 nohead
set arrow 4 from -10,-5,120 to 0,-10,0 nohead
set xrange [-10:10]
set yrange [-10:10]
produces very high quality output.
An excellent graphing tool. It is easy to learn (although advanced features require a steep learning curve) and produces graphs that are equal to nearly any other graphing tool out there. Very well documented.
Excelent and simple.