有没有办法根据改变的 x 轴限制和 y 轴限制来绘制 Matplotlib 的 Imshow?
Is there a way to plot Matplotlib's Imshow against changing x-axis limits and y-axis limits?
我正在尝试使用 imshow() 可视化一个 numpy 数组,因为它类似于 MATLAB 中的 imagesc()。
import numpy as np
import matplotlib.pyplot as plt
plt.imshow(np.random.rand(8, 90), aspect='auto')
结果图如下,自动选择了 x 轴范围和 y 轴范围。我如何设置参数来改变 x 轴和 y 轴,它们有 2 个不同大小的元素数组?
例如:x 轴 = [100,], y 轴 = [15,]
我尝试使用 extent
,但我需要提供 [x-axis_min、x-axis_max、y-axis_min、y-axis_max]。但问题是,我有一个元素数组作为 x 轴限制和一个元素数组作为 y 轴限制。我不知道如何将这些数组设置为限制?
谢谢
如果我理解你的问题,那么这应该可以解决问题?
img = np.random.rand(8, 90)
x = np.linspace(2.2e10, 2.475e10, 100)
y = np.linspace(-0.007, 0.007, 15)
plt.figure()
plt.imshow(img, aspect='auto', extent=[np.min(x), np.max(x), np.max(y), np.min(y)])
我正在尝试使用 imshow() 可视化一个 numpy 数组,因为它类似于 MATLAB 中的 imagesc()。
import numpy as np
import matplotlib.pyplot as plt
plt.imshow(np.random.rand(8, 90), aspect='auto')
结果图如下,自动选择了 x 轴范围和 y 轴范围。我如何设置参数来改变 x 轴和 y 轴,它们有 2 个不同大小的元素数组?
例如:x 轴 = [100,], y 轴 = [15,]
我尝试使用 extent
,但我需要提供 [x-axis_min、x-axis_max、y-axis_min、y-axis_max]。但问题是,我有一个元素数组作为 x 轴限制和一个元素数组作为 y 轴限制。我不知道如何将这些数组设置为限制?
谢谢
如果我理解你的问题,那么这应该可以解决问题?
img = np.random.rand(8, 90)
x = np.linspace(2.2e10, 2.475e10, 100)
y = np.linspace(-0.007, 0.007, 15)
plt.figure()
plt.imshow(img, aspect='auto', extent=[np.min(x), np.max(x), np.max(y), np.min(y)])