python同时显示两张图片_如何使用matplotlib在另一个图像上显示两个图像?

我有一个热图,里面有一些值(model_prediction_i)。因为我想稍后在绘制热图之前旋转它,所以我必须用plt.imsave保存它。我的目标是,将reference.jpg显示为绘图的背景,将X_test_i绘制在上面,然后将热图也放在该图上,这样我就可以看到背景、绘制的线条和热图,它们的尺寸比背景图片小->它只会遮挡背景图片的一部分。

作为reference.jpg:mSW4T.jpg

这可能吗?在import numpy as np

from PIL import Image

import matplotlib.pyplot as plt

model_prediction_i = np.zeros((200,200))

model_prediction_i[160][160] = 1

model_prediction_i[160][161] = 1

model_prediction_i[160][162] = 1

model_prediction_i[160][163] = 1

model_prediction_i[160][164] = 1

model_prediction_i[160][165] = 1

model_prediction_i[160][166] = 1

model_prediction_i[160][167] = 1

model_prediction_i[160][168] = 1

model_prediction_i[160][169] = 1

model_prediction_i[160][170] = 1

model_prediction_i[160][171] = 1

plt.imsave('outfile.jpg', model_prediction_i, cmap='hot')

rotated_img = Image.open('outfile.jpg')

background = Image.open('reference.jpg')

X_test_i = np.zeros((5, 2))

X_test_i[0] = [10 ,10]

X_test_i[1] = [60 ,60]

X_test_i[2] = [90 ,90]

X_test_i[3] = [140 ,140]

X_test_i[4] = [250 ,230]

fig, ax = plt.subplots(figsize=(10, 10))

ax.plot(X_test_i[:, 0], X_test_i[:, 1], marker='o', markersize=7, color="red", label='Current position', antialiased=True)

ax.imshow(rotated_img, cmap='hot', extent=[X_test_i[:, 0][-1]-10, X_test_i[:, 0][-1]+10, X_test_i[:, 1][-1]-10, X_test_i[:, 1][-1]+10])

ax.imshow(background)

plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值