Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Placing label over mapped 3D graph in Gnuplot

Tags:

gnuplot

I want the below desired effect

Desired image

I am using a gnuplot script similar to this

reset
set term postscript eps enhanced "Helvetica" 30
set size square
set xlabel "X position"
set ylabel "Y position"
set pm3d map
set palette rgbformulae 22,13,-31
set xrange [0 : 22.0000000000]
set yrange [0 : 17.0000000000]
set zrange [0 : 0.1614027105]
set xtics 5
set ytics 0,4
set cbtics 0,0.020
set style line 1 lw 1
unset key
set dgrid3d 45,45
set style line 1 lt 1
set hidden3d
splot "data.data" u 1:2:3
set label "98.8" at 9,-2 textcolor lt 1
set label "1.2" at 9,6 textcolor lt 1

But when I do, the labels (98.8, and 1.2) don't get printed. If I provide a bogus data.data file, lets say with only a single (x,y,z) point, then nothing gets graphed and I can see the labels. Therefore, I am guessing that my graph is occluding my labels. How do I get the labels to be printed on top of my graph?

like image 341
puk Avatar asked Feb 02 '23 07:02

puk


1 Answers

The default placement for labels is in back.
But you can specify that the label show up in front, e.g.:

set label "label in front" at 2.5,0.5 tc rgb "white" font ",30" front

Credit: the (very slightly modified) code for this was found at http://gnuplot.sourceforge.net/demo_svg_4.5/pm3dcolors.html and/or link(s) therefrom. enter image description here

like image 162
mechanical_meat Avatar answered Mar 06 '23 07:03

mechanical_meat