Есть ли способ построить Imshow Matplotlib против изменения пределов оси X и пределов оси Y? - PullRequest
1 голос
/ 29 января 2020

Я пытаюсь визуализировать массив numpy с помощью imshow (), так как он похож на изображения c () в MATLAB.

import numpy as np
import matplotlib.pyplot as plt

plt.imshow(np.random.rand(8, 90), aspect='auto')

Полученный рисунок такой же, как и в случае с автоматизом c выбор пределов оси X и пределов оси Y. Как я могу установить параметры для изменения осей X и Y, которые имеют 2 разных размера массива элементов?

Для Например: ось X = [100,], ось Y = [15,]

Figure

Я пытался использовать extent, однако мне нужно указать [x-axis_min, x-axis_max, y-axis_min, у-axis_max]. Но проблема в том, что у меня есть массив элементов в качестве пределов оси X и массив элементов в качестве пределов оси Y. Я не знаю, как установить эти массивы как пределы?

Спасибо

1 Ответ

2 голосов
/ 30 января 2020

Если я понимаю ваш вопрос, тогда это должно сработать?

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)])
...