首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在给定XY边界之间的Matplotlib图中显示图像

在给定XY边界之间的Matplotlib图中显示图像
EN

Stack Overflow用户
提问于 2014-03-10 05:04:48
回答 1查看 1.8K关注 0票数 2

我从一篇期刊论文中实现了一个数字模型,并希望使用Python和Matplotlib将我的版本绘制在期刊论文pdf中的图形的屏幕截图上。我在论文pdf中截取了图的屏幕截图,并将其裁剪到边界(x1,y1)和(x2,y2),单位为毫米和牛顿。绘图可以是任何格式(jpg、png等)。

现在,我想在Matplotlib中显示一个绘图区域后面的图像,总图形尺寸从(0,0)到(x3,y3),同样以毫米和牛顿为单位。图像只占用绘图空间的一个子集,并且应该缩放以适合边界(x1,y1)和(x2,y2)定义的框。边界(x1,y1)和(x2,y2)不一定与图像的原始纵横比匹配,因此图像必须在x和y方向上独立缩放以适应。我不希望我的绘图与源图像中绘图的原始纵横比联系在一起。

如何将此图像映射到绘图上的物理空间?

EN

回答 1

Stack Overflow用户

发布于 2014-03-10 21:08:02

基本上,使用extent kwarg to imshow。如果您不希望将纵横比设置为1,则还需要autoscale='auto'

举个简单的例子:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

x = np.linspace(2, 8, 100)
y = np.cos(x)

x1, x2 = 3, 5.6
y1, y2 = -2.8, 9.6
im = np.array(Image.open('grace_hopper.jpg'))

fig, ax = plt.subplots()
ax.imshow(im, extent=[x1, x2, y1, y2], aspect='auto', cmap='gray')
ax.plot(x, y)
plt.show()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22288166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档