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
本文介绍了一个使用Fortran编写的简单程序,该程序生成一个包含x坐标、y坐标及对应的热量值的数据文件test.dat。通过设置不同的灰度级别,可以利用此数据文件绘制出热力图。
526

被折叠的 条评论
为什么被折叠?



