Question

does anyone know how I can achieve drawing triangle on level sets of some 3d function (something like on this image in gnuplot? When I tried doing this after reading some tutorials:

gnuplot> set border 15 front linetype -1 linewidth 1.000
gnuplot> set logscale z 10
gnuplot> set view map
gnuplot> set isosamples 60, 60
gnuplot> unset surface
gnuplot> set contour base
gnuplot> unset clabel
gnuplot> set style data lines
gnuplot> set ticslevel 0
gnuplot> set noztics
gnuplot> set title "Trwa symulacja"
gnuplot> set xlabel "x"
gnuplot> set xrange [ * : * ] noreverse nowriteback
gnuplot> set ylabel "y"
gnuplot> set zlabel ""
gnuplot> set yrange [ * : * ] noreverse nowriteback
gnuplot> set zrange [ * : * ] noreverse nowriteback
gnuplot> splot [-10.5:10.5] [-10.5:10.5] x**2 +y**2 with lines lc rgb "#000000"
notitle,\
>'-' with lines notitle
input data ('e' ends) > 5.39703780733842 0.424994542694183 29.3086374551602
input data ('e' ends) > -4.80045950473308 -8.66307635892326 98.0933034571172
input data ('e' ends) > -3.56740563691939 3.31903046267993 23.7423461905216
input data ('e' ends) > 5.39703780733842 0.424994542694183 29.3086374551602
input data ('e' ends) > e

But I'm still getting warning: "Cannot contour non grid data. Please use "set dgrid3d".".

Was it helpful?

Solution

You need to have surface turned on for the whole splot and to turn it off for the parts where you don't want it. (You can't do it the other way round; the splot syntax only allows suppression of surfaces and not re-enabling them.)

# All the other settings you were using...
set surface
splot [-10.5:10.5] [-10.5:10.5] \
      x**2 +y**2 with lines lc rgb "#000000" notitle nosurface, \
      '-' with lines notitle
5.39703780733842 0.424994542694183 29.3086374551602
-4.80045950473308 -8.66307635892326 98.0933034571172
-3.56740563691939 3.31903046267993 23.7423461905216
5.39703780733842 0.424994542694183 29.3086374551602
e
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top