相关疑难解决方法(0)

如何在matplotlib.pyplot.imshow中使用'extent'

我设法绘制了我的数据,并希望为其添加背景图像(地图).数据由长/纬度值绘制,我也有图像的三个角(左上角,右上角和左下角)的长/纬度值.

我试图找出如何使用imshow'extent'选项.但是,我发现的例子没有解释如何为每个角分配x和y(在我的例子中,我有三个角的信息).

将图像添加到图中时,如何为图像指定三个角的位置?

谢谢

python plot matplotlib

31
推荐指数
2
解决办法
5万
查看次数

蟒蛇.Matplotlib倒像

我不知道这里有什么问题.

import matplotlib.pyplot as plt

im = plt.imshow(plt.imread('tas.png'))
plt.show()
Run Code Online (Sandbox Code Playgroud)

并且Y轴已反转.
所以我写了一个论点origin='lower'.

im = plt.imshow(plt.imread('tas.png'), origin='lower')
plt.show()
Run Code Online (Sandbox Code Playgroud)

我得到了什么.
Y轴正常,但现在图像已经反转.

此外,当我尝试重新缩放X轴和Y轴时,图像没有变小,只有切出一块.

先感谢您.我会非常感谢你的帮助.

python image matplotlib

9
推荐指数
1
解决办法
6379
查看次数

Matplotlib:如何使imshow从其他numpy数组中读取x,y坐标?

当你想要绘制一个numpy数组时imshow,这就是你通常做的事情:

import numpy as np
import matplotlib.pyplot as plt

A=np.array([[3,2,5],[8,1,2],[6,6,7],[3,5,1]]) #The array to plot

im=plt.imshow(A,origin="upper",interpolation="nearest",cmap=plt.cm.gray_r)
plt.colorbar(im)
Run Code Online (Sandbox Code Playgroud)

这给了我们这个简单的图像: 在此输入图像描述

在该图像中,简单地从阵列中每个值的位置提取xy坐标.现在,假设这A是一个引用某些特定坐标的值数组:

real_x=np.array([[15,16,17],[15,16,17],[15,16,17],[15,16,17]])
real_y=np.array([[20,21,22,23],[20,21,22,23],[20,21,22,23]])
Run Code Online (Sandbox Code Playgroud)

这些价值构成了我的理由.有没有办法强制imshow在A对应的坐标对(real_x,real_y)中分配每个值?

PS:我不是在寻找向基于数组的x和y添加或减去某些东西以使它们与real_xreal_y匹配,而是用于从real_xreal_y数组中读取这些值的东西.然后,预期结果是具有x轴上的real_x值和y轴上的real_y值的图像.

python numpy matplotlib imshow

7
推荐指数
1
解决办法
1万
查看次数

为什么 imshow 的范围参数会翻转我的图像?

import matplotlib.pyplot as plt
import numpy as np

n = 16

im = np.eye(n)

fig = plt.figure()
ax = fig.add_subplot(121)
ax.imshow(im)
ax = fig.add_subplot(122)
ax.imshow(im, extent=(0, n, 0, n))

plt.show()
Run Code Online (Sandbox Code Playgroud)

结果如下图 在此处输入图片说明

我本来希望这样extent,两个数字(几乎)相同,但它们不是:注意 y 轴是如何翻转的。更令人讨厌的是,右边的数字是错误的:原点的值显示为0,而显示为1。

如果我在范围内翻转 y 参数,extent=(0, n, n, 0),我会得到预期的行为。

据我了解, 的extent论点的描述imshow

范围:标量(左、右、下、上),可选,默认:None

数据坐标中左下角和右上角的位置。如果None,则图像的位置使得像素中心落在从零开始的(行、列)索引上。

对这种行为并不是很明确。

我的问题是,为什么会发生这种翻转,为什么我们必须在一定程度上反转顶部/底部以获得预期的行为?

编辑

我已经阅读了这个问题,OP 没有提到翻转问题,答案也没有带来问题。

设置origin='lower'元素确实带来了第一个图像像素,(0,0)但图像随后颠倒显示。

我相信有一个简单的解释可以始终如一地解释这些行为,但还不能完全确定。

python matplotlib

3
推荐指数
1
解决办法
1038
查看次数

标签 统计

matplotlib ×4

python ×4

image ×1

imshow ×1

numpy ×1

plot ×1