Я вижу 2 способа сделать это:
- с
matplotlib.transforms
:
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import matplotlib as mpl
imageList = ["image.jpg", "image.jpg", "image.jpg"]
coordinatesList = [[0, 0], [100, 200], [200, 200]]
ax = plt.gca()
ax.set_xlim(0, 300)
ax.set_ylim(0, 300)
for i in range(3):
imageFile = imageList[i]
img=mpimg.imread(imageFile)
imgplot = ax.imshow(img)
tx, ty = coordinatesList[i]
transform = mpl.transforms.Affine2D().translate(tx, ty)
imgplot.set_transform(transform + ax.transData)
plt.show()
с параметром
extent
(но я знаю размеры моего изображения):
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
imageList = ["image.jpg", "image.jpg", "image.jpg"]
coordinatesList = [[0, 0], [100, 200], [200, 200]]
ax = plt.gca()
ax.set_xlim(0, 300)
ax.set_ylim(0, 300)
imgplot = [None] * len(imageList)
for i in range(3):
imageFile = imageList[i]
img=mpimg.imread(imageFile)
tx, ty = coordinatesList[i]
ax.imshow(img, extent=(tx, tx + 50, ty, ty + 50))
plt.show()
Вот результат использования квадрата 50px в качестве изображения image.png
: ![enter image description here](https://i.stack.imgur.com/dLzxh.png)