1

印刷する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ファイルをロードする必要もありません。助けてくれてありがとう!

4

2 に答える 2

1

matrixキーワードを使用してみてください:

set pm3d map
splot 'output.dat' matrix

制限の設定についてあまり心配する必要はありません。自動的に0から256になります。次に、カラーマップを試してみたい場合は、ここに例を示してください。

于 2012-05-03T23:24:19.210 に答える
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は、データファイルを現在の形式で自動的に取り込みます(整数、スペースで区切られ、各行は独自の行にあります)。

于 2012-05-03T21:54:01.167 に答える