我有一个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文件,更不用说给我一个图表了。谢谢你的帮助!
答案 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')
产生一个看起来像的图(注意我刚刚使用了随机数据):
函数loadtxt
将以您拥有的格式自动获取数据文件(整数,以空格分隔,每行都在其自己的行中)。
答案 1 :(得分:1)
尝试使用matrix
关键字:
set pm3d map
splot 'output.dat' matrix
您不必担心设置限制;它们应该自动从0到256。然后,如果您想要使用颜色贴图,请转到here作为示例。