Estoy tratando de usar gnuplot 5.0 para trazar una matriz de datos 2D sin márgenes, bordes o ejes ... solo una imagen 2D (.png o .jpg) que representa algunos datos. Me gustaría tener cada elemento de la matriz para corresponder exactamente a un píxel de la imagen con ninguna escala / interpolación , etc y no hay píxeles blancos adicionales en los bordes.
Hasta ahora, cuando trato de establecer los márgenes en 0 e incluso usando la pixels
bandera, todavía me queda una fila de píxeles blancos en los bordes derecho e superior de la imagen.
¿Cómo puedo obtener solo un archivo de imagen con representación píxel por píxel de una matriz de datos y nada más?
script 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
Datos de ejemplo de 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
formato de lista?