Я предполагаю, что вы имеете в виду, что вы не хотите вручную рассчитывать пределы для каждого графика, но все в порядке с обновлениями ограничений при изменении графика.
В этом случае вам необходимо вычислить, какой из ваших пределов является более высоким абсолютным числом, а затем передать его отрицательное значение vmin
, а само число - vmax
ключевым словам в imshow
. Вот минимальный пример
import numpy as np
import matplotlib.pyplot as plt
data = np.zeros((10, 10))
for i in range(10):
data[i] = np.linspace(-3, 5, 10)
def plot(data):
limit = max(abs(np.min(data)), abs(np.max(data)) )
plt.imshow(data, aspect='auto', cmap='RdBu',
vmin=-limit, vmax=limit)
plt.colorbar()
plt.show()