Đối với trường hợp của bạn, bạn có thể thiết lập một tic nhỏ, sau đó nằm trên biên giới giữa hai pixel, và vẽ một lưới trên chúng:
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
Lưu ý, rằng set grid front
cũng mang tics vào phía trước. Để tránh điều đó, bạn có thể chia tỷ lệ các câu chuyện thành 0
. Đối với các câu chuyện nhỏ, bạn phải sử dụng một số rất nhỏ, 0
sẽ bỏ qua các đường lưới trên các hình nhỏ.
Kết quả với 4.6.3 là:
EDIT: Để kiểm soát các đường lưới và nhãn tic một cách độc lập, bạn có thể sử dụng không sử dụng x2
và y2
để vẽ lưới (lấy cảm hứng từ câu trả lời cho 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
với gnuplot
phiên bản 4.6, điều này đòi hỏi thiết lập dãy rõ ràng, do đó x
và x2
(không sử dụng!) Bằng nhau. Thông tin có thể được trích xuất với stats
từ tệp dữ liệu.
Sử dụng phiên bản 5 cho phép bạn sử dụng set link
. Thay vì tất cả các công cụ set *range
. Bạn có thể sử dụng:
set autoscale fix
set link x
set link y
Kết quả:
Awesome, ý kiến tốt! Cảm ơn bạn Christoph! – Kai
Đây là một vấn đề khác. Tôi có một ma trận lớn hơn 80x80, nhãn trông rất bận. Tôi muốn tránh những con số bên dưới các tics nhưng giữ cho các tics mình để hiển thị lưới điện. – Kai
Tôi sử dụng 'set format y" "' đã xóa chúng. – Kai