Gnuplot:与图像一起绘图时不显示标签

时间:2017-05-23 15:18:29

标签: label gnuplot heatmap

当我在gnuplot中使用图像进行绘图时,不会显示我设置的标签。其他一切都是正确的。这是我的代码:

@RequestMapping(name = "/getAllEmployees")
public @ResponseBody List<Employee> getAllEmployees() {
    return empRepo.getAllEmployees(new PageRequest(0, 20)).getContent();
}

奇怪的是:如果我使用不存在的列作为第三个数据系列绘制数据文件,例如:

#! /bin/sh
#
# Plotting the color map of correlation using the default Matlab palette
#
gnuplot <<EOF
reset
set terminal pngcairo size 700,524 enhanced font 'Verdana,10'
unset key
# border
set style line 11 lc rgb '#808080' lt 1
set border 3 front ls 11
set tics nomirror out scale 0.75

set xrange [0:20]
set yrange [0:20]
set xlabel 'Distance x/D_j [-]'
set ylabel '{/Symbol t} u_j/D_j [-]'

# disable colorbar tics
set cbtics scale 0
# matlab palette colors
set palette defined ( 0 "#000090",\
                      1 "#000fff",\
                      2 "#0090ff",\
                      3 "#0fffee",\
                      4 "#90ff70",\
                      5 "#ffee00",\
                      6 "#ff7000",\
                      7 "#ee0000",\
                      8 "#7f0000")

set output 'test.png'
set label 'aaa' at 2,17
plot 'Cuup_nf_a090_r050Dj_average' u 1:2:3 with image
EOF

(文件'Cuup_nf_a090_r050Dj_average'中只有3列)

当然,我的图像中只有空白(无数据),但标签显示正确。

所以我的数据调色板似乎覆盖了标签......我试图在代码末尾加上'set label',但它也不起作用。

有人有想法吗?

ps:我的gnuplot版本:版本4.6补丁级别4

提前多多感谢。

1 个答案:

答案 0 :(得分:1)

标签有一个选项front|back可以将它们放在前面或后面的层上。默认设置为back,因此在绘制with image时隐藏未指定显式图层的标签:

$data <<EOD 
1 2
3 4
EOD
set label 'default, hidden' at graph 0.6, graph 0.7 font ",20"
set label back 'back, hidden' at graph 0.6, graph 0.5  font ",20"
set label front 'front, visible' at graph 0.6, graph 0.3 font ",20"

plot $data matrix with image

enter image description here