gnuplot画heatmap图(灰色系)
set cbrange [0:2]
set palette defined (0 "gray100",20 "gray80",40 "gray60",60 "gray40",\
80 "gray20",100 "gray0",101 "grey0")
plot 'test.dat' u 1:2:3 w image
x(i,j)=-1.0+(i-1)*2.0/real(grid)
y(i,j)=-1.0+(j-1)*2.0/real(grid)
heat(i,j)=x(i,j)**2+y(i,j)**2
write(10,*)x(i,j),y(i,j),heat(i,j)
end do
end do
CLOSE(10)
STOP
end
set palette defined (0 "gray100",20 "gray80",40 "gray60",60 "gray40",\
80 "gray20",100 "gray0",101 "grey0")
plot 'test.dat' u 1:2:3 w image
reset
效果如图:
生成"test.dat"的Fortran程序:
program HelloWorld
integer,parameter :: grid=20
integer i, j
real x(grid,grid), y(grid,grid), heat(grid,grid)
OPEN(10,file="test.dat")
write(10,200)"#x","y","heat"
200 format(3A12)
do i=1,grid
do j=1,gridx(i,j)=-1.0+(i-1)*2.0/real(grid)
y(i,j)=-1.0+(j-1)*2.0/real(grid)
heat(i,j)=x(i,j)**2+y(i,j)**2
write(10,*)x(i,j),y(i,j),heat(i,j)
end do
end do
CLOSE(10)
STOP
end