對於你的情況,你可以設置一個較小的抽動,然後位於兩個像素之間的邊界,並在其上繪製一個網格:
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結果是:
編輯:爲了獨立地控制網格線和抽動標籤,則可以使用未使用的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
結果:
真棒,好評論!謝謝你克里斯托弗! – Kai
現在,這是另一個問題。我有一個更大的矩陣80x80,標籤看起來很忙。我想避開抽搐之下的數字,但保持抽搐自己顯示網格。 – Kai
我用'set format y'「'把它們去掉了。 – Kai