Gnuplot用图像绘制2D矩阵,希望为每个单元格绘制边框

Gnuplot用图像绘制2D矩阵,希望为每个单元格绘制边框,plot,gnuplot,Plot,Gnuplot,我想用gnuplot绘制一个18x18矩阵。这是我的密码: set size ratio 1 set palette gray negative set xrange[-0.5:17.5] set yrange[-0.5:17.5] set cbrange[-0.2:0.8] set xtics 0,1,17 set ytics 0,1,17 set xtics offset -0.5,0 set title "Resolusition Matrix for E" plot "Mat" matr

我想用gnuplot绘制一个18x18矩阵。这是我的密码:

set size ratio 1
set palette gray negative
set xrange[-0.5:17.5]
set yrange[-0.5:17.5]
set cbrange[-0.2:0.8]
set xtics 0,1,17
set ytics 0,1,17
set xtics offset -0.5,0
set title "Resolusition Matrix for E"
plot "Mat" matrix w image noti
然后我得到了这样一个无花果:

现在我想为每个单元格添加边框,如下所示:


谢谢。

对于您的情况,您可以设置一个小tic,然后位于两个像素之间的边界上,并在其上绘制网格:

set size ratio 1
set palette gray negative
set autoscale xfix
set autoscale yfix
set xtics 1
set ytics 1
set title "Resolution Matrix for E"

set tics scale 0,0.001
set mxtics 2
set mytics 2
set grid front mxtics mytics lw 1.5 lt -1 lc rgb 'white'
plot "Mat" matrix w image noti
请注意,
set grid front
也会将TIC带到前面。为了避免这种情况,您可以将tic缩放到
0
。对于次要tics,您必须使用非常小的数字,
0
将忽略次要tics上的网格线

4.6.3的结果是:

编辑:为了独立控制网格线和tic标签,您可以使用未使用的
x2
y2
绘制网格(灵感来源于以下问题的答案):

对于
gnuplot
4.6版,这需要设置明确的范围,以便
x
x2
(未使用!)相等。可以使用
stats
从数据文件中提取信息

使用版本5允许您使用
设置链接
。而不是所有的
set*范围
内容。您可以使用:

set autoscale fix
set link x
set link y
结果:


现在还有另一个问题。我有一个更大的矩阵80x80,标签看起来很忙。我想避免在TIC之下的数字,但是保持这些TIC本身来显示网格。“Kai-I发现,我认为什么是最佳的解决方案,来控制标签和网格线彼此独立。
set autoscale fix
set link x
set link y