2012-05-03 61 views
1

我有一个我打印的256x256阵列。它总是一个单一的数字范围为-10〜50。所以例如,输出文件看起来像:如何显示256x256网格?

5 -10 5 4
1 50 -2 4
-10 49 -1 0

但在256x256的规模。我怎样才能得到这些值的图表? (它应该是一个高度图)。

我通过GNUPLOT文档看了,但没有发现任何东西,可以帮助我:/我有一个graph.gp文件看起来像这样:

set autoscale 
set xrange [0:256] 
set yrange [0:256] 
set pm3d 
cd 'src' 
splot "output.dat" 

然后我在终端打开“gnusplot”和写load "graph.gp",但它甚至不想加载.dat文件,更不用说给我一个图。谢谢你的帮助!

回答

1

我更喜欢使用matplotlib(python)来制作我的数字。要使用matplotlib执行此操作,可以使用matshow。下面是一个简单的脚本,你可以运行:

#!/usr/bin/env python 

from matplotlib.pylab import * 

data = loadtxt("mydata.dat"); 

matshow(data) 

colorbar() 

# leaves figure on screen 
# comment out when saving file 
show() 

# uncomment to save file 
#savefig('myplot.pdf') 

产生一个阴谋,看起来像(请注意,我只是用随机数据):

matshow

功能loadtxt将在您的数据文件自动以您拥有的格式(整数,空格分隔,每行按其自己的行)。

1

尝试使用matrix关键字:

set pm3d map 
splot 'output.dat' matrix 

你不应该担心设置的限制很多;他们应该自动从0到256。然后,如果您想玩色彩地图,请参阅here举例。