对于您的情况,您可以设置一个小 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
也将抽动带到了前面。为避免这种情况,您可以将抽动缩放到0
. 对于轻微抽动,您必须使用非常小的数字,0
会省略轻微抽动上的网格线。
4.6.3 的结果是:
编辑:为了独立控制网格线和 tic 标签,您可以使用未使用的x2
和y2
绘制网格(灵感来自How do I draw a vertical line in gnuplot?的答案):
set size ratio 1
set palette gray negative
# grid lines
set x2tics 1 format '' scale 0,0.001
set y2tics 1 format '' scale 0,0.001
set mx2tics 2
set my2tics 2
# labeling
set xtics 5 out nomirror
set ytics 5 out nomirror
set grid front mx2tics my2tics lw 1.5 lt -1 lc rgb 'white'
set xrange[-0.5:39.5]
set yrange[-0.5:39.5]
set x2range[-0.5:39.5]
set y2range[-0.5:39.5]
plot "Mat" matrix w image notitle
在gnuplot
4.6 版中,这需要设置明确的范围,以便x
和x2
(未使用!)相等。可以stats
从数据文件中提取信息。
使用版本 5 允许您使用set link
. 而不是所有的set *range
东西。你可以使用:
set autoscale fix
set link x
set link y
结果: