Работает следующий код Python:
import numpy as np
import matplotlib.pyplot as P
from matplotlib.colors import LogNorm
# A is a matrix of dimension [101,1000]
X, Y = np.mgrid[0:100:100.0/101, -5:20:25.0/1000]
P.pcolor(X, Y, A, norm=LogNorm(vmin=np.min(A), vmax=np.max(A)), cmap='PuBu_r')
P.colorbar()
Однако я хотел бы построить те же данные цветовой диаграммы, но с другой осью X. Я хотел бы, чтобы первые 50 точек в X были между 0 и 50, а последние 51 точка были между 50 и 150 (не регулярная сетка). Фактическая матрица А находится на той сетке 0-150, а не на сетке 0-100, которую я сейчас строю.
Я пытался интерполировать данные с griddata, но безуспешно. Любые предложения для элегантного способа сделать это?