如何显示256x256网格?

时间:2012-05-03 20:40:40

标签: c++ linux gnuplot

我有一个256x256阵列,我打印。它始终是从-10到50的单个数字。因此,例如,输出文件看起来像:

5 -10 5 4
1 50 -2 4
5 21 35 11
-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文件,更不用说给我一个图表了。谢谢你的帮助!

2 个答案:

答案 0 :(得分: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 :(得分:1)

尝试使用matrix关键字:

set pm3d map
splot 'output.dat' matrix

您不必担心设置限制;它们应该自动从0到256。然后,如果您想要使用颜色贴图,请转到here作为示例。