web-dev-qa-db-ja.com

matplotlibを使用して2Dピクセルプロットを作成する

いくつかの計算から次のデータを取得しました。

x, y, temp

ここで、xとyは、寸法が10x10の2Dボックス内のポイントの座標です。間隔は0.1です。したがって、10000の異なるポイントがあり、結果のファイルは次のようになります。

0.0 0.0 5.6
0.1 0.0 3.2
0.2 0.0 4.1
...
9.9 9.9 2.1

100x100ピクセルのmatplotlibで2Dプロットの種類を準備します。各ピクセルには、値が3列目。データはこのファイルから読み取られます。 matplotlibでこれに最適なアプローチは何ですか

24
Open the way

X、y、tempトリプルが並べられているように見える(行にリストされている)方法に基づいて、「temp」列の形状を変更できます。

例えば。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm

x,y,temp = np.loadtxt('data.txt').T #Transposed for easier unpacking
nrows, ncols = 100, 100
grid = temp.reshape((nrows, ncols))

plt.imshow(grid, extent=(x.min(), x.max(), y.max(), y.min()),
           interpolation='nearest', cmap=cm.Gist_Rainbow)
plt.show()

hsvは、参照していた「レインボー」カラーマップです。 編集:おそらく実際にmatplotlib.cm.Gist_Rainbowmatplotlib.cm.hsvは下部の赤に戻ります。こちらをご覧ください: https://matplotlib.org/users/colormaps.html カラーマップのリスト。

X、y、tempトリプレットが実際に順序付けされていない場合は、ポイントを削除する必要があります。この例を my answer で前の質問に示しました。

enter image description here

30
Joe Kington