我正在尝试使用gnuplot 5.0绘制2D数据数组,没有边界,边框或轴...只是代表某些数据的2D图像(.png或.jpg)。我想让每个数组元素对应于图像中的一个像素,没有缩放/插值等,并且边缘没有多余的白色像素。
到目前为止,当我尝试将页边距设置为0甚至使用该pixels
标志时,我仍然在图像的右边界和顶边界处留下一排白色像素。
我怎样才能只获得具有数据数组的逐像素表示形式的图像文件?
gnuplot脚本:
#!/usr/bin/gnuplot --persist
set terminal png size 400, 200
set size ratio -1
set lmargin at screen 0
set rmargin at screen 1
set tmargin at screen 0
set bmargin at screen 1
unset colorbox
unset tics
unset xtics
unset ytics
unset border
unset key
set output "pic.png"
plot "T.dat" binary array=400x200 format="%f" with image pixels notitle
来自Fortran 90的示例数据:
program main
implicit none
integer, parameter :: nx = 400
integer, parameter :: ny = 200
real, dimension (:,:), allocatable :: T
allocate (T(nx,ny))
T(:,:)=0.500
T(2,2)=5.
T(nx-1,ny-1)=5.
T(2,ny-1)=5.
T(nx-1,2)=5.
open(3, file="T.dat", access="stream")
write(3) T(:,:)
close(3)
end program main
x y z
列表格式是否可以接受?