向绘图中添加背景图像
- 2025-03-21 09:06:00
- admin 原创
- 29
问题描述:
假设我正在绘制一组以图像为背景的点。我在示例中使用了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
。
解决方案 1:
使用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()
解决方案 2:
您必须使用extent
关键字参数:
imshow(img, zorder=0, extent=[left, right, bottom, top])
范围元素应以数据单位指定,以便图像可以与数据匹配。例如,这可用于将地理路径(坐标数组)叠加在地理参考地图图像上。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD