5

センサーを使用した温度プロットを見てきましたが、等高線/ヒート マップを作成する方法や、CMAP に基づいてポイントの色を編集する方法を知りたいと思っていました。

次の非常に基本的なプロットがあります。

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
from pylab import *

figure(figsize=(15, 8))
# use ginput to select markers for the sensors
matplotlib.pyplot.hot()

markers = [(269, 792, 0.65), (1661, 800, 0.5), (1017, 457, 0.8)]
x,y,t = zip(*markers)

img = mpimg.imread('floor.png')
imgplot = plt.imshow(img, cmap=cm.hot)
plot(x, y, 'h', c=t, ms=15)

colorbar()
show()

マーカーの 3 番目の値は、できればポイント カラーにする必要があります。ただし、プロットを作成しているときは、マーカーの最初の値を使用して同じ方法で各ポイントを色付けしています。ホットを使用して実際の温度に関連付けることができるように、ポイントの cmap を設定することは可能ですか? 現在のポイントは、デフォルトの cmap であると思われる薄紫/薄紫色でプロットされています。cmap は plot の有効な値ではないように見えるので、どこで指定するかわかりません。

私が実際に試して理解したい別の解決策は、代わりに等高線または histogram2d を使用して熱半径を表示することです。画像の上にプロットすることは可能ですか? This exampleを見ましたが、ランダム関数の代わりに実際の値を使用するように正しく編集できないようです。私が探していることを行う、過去に使用した代替ソリューション/サンプルコードを誰かが持っていますか? 見つけたドキュメントと少し混乱しています。

ありがとう!

4

1 に答える 1

2

これがscatterプロットの目的です。

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
from pylab import *

figure(figsize=(15, 8))
# use ginput to select markers for the sensors
matplotlib.pyplot.hot()

markers = [(269, 792, 0.65), (1661, 800, 0.5), (1017, 457, 0.8)]
x,y,t = zip(*markers)

img = mpimg.imread('floor.png')
imgplot = plt.imshow(img, cmap=cm.hot)
scatter(x, y, marker='h', c=t, s=150)

colorbar()
show()

引数が とは異なりplot、サイズのスケーリングが異なることに注意してください。ポイントの色を変更したい場合は、次のcmap引数を使用することをお勧めしますscatter

于 2013-03-21T18:17:43.047 に答える