Я пытаюсь использовать 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
Пример данных из Фортрана 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
формате списка?