32

画像を背景として一連の点をプロットしているとします。この例では、 Lenaイメージを使用しました。

import numpy as np
import matplotlib.pyplot as plt
from scipy.misc import imread

np.random.seed(0)
x = np.random.uniform(0.0,10.0,15)
y = np.random.uniform(0.0,10.0,15)
img = imread("lena.jpg")
plt.scatter(x,y,zorder=1)
plt.imshow(img,zorder=0)
plt.show()

これは私に与えますここに画像の説明を入力してください

私の質問は、プロット内の画像のコーナー座標をどのように指定できますか?左下隅をに、x, y = 0.5, 1.0右上隅をにしたいとしx, y = 8.0, 7.0ます。

4

2 に答える 2

44

extentのキーワードを使用しimshowます。引数の順序は次のとおりです。[left, right, bottom, top]

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(0)
x = np.random.uniform(0.0,10.0,15)
y = np.random.uniform(0.0,10.0,15)

datafile = 'lena.jpg'
img = plt.imread(datafile)
plt.scatter(x,y,zorder=1)
plt.imshow(img, zorder=0, extent=[0.5, 8.0, 1.0, 7.0])
plt.show()

ここに画像の説明を入力してください

  • 散布図の小さな領域に画像を配置したい場合は、プロットの順序を変更して(.imshow次に.scatter)、extent値を変更します。
plt.imshow(img, zorder=0, extent=[3.0, 5.0, 3.0, 4.50])
plt.scatter(x, y, zorder=1)
plt.show()

ここに画像の説明を入力してください

于 2013-03-01T14:37:16.313 に答える
11

extentキーワードパラメータを使用する必要があります。

imshow(img, zorder=0, extent=[left, right, bottom, top])

エクステントの要素は、画像がデータと一致するようにデータ単位で指定する必要があります。これは、たとえば、地理参照マップ画像上に地理パス(座標配列)をオーバーレイするために使用できます。

于 2013-03-01T14:33:46.153 に答える