line = [(-3, -1), (4, 3)]
x_world, y_world = np.array(zip(*line))
col = z.shape[1] * (x_world - x.min()) / x.ptp()
row = z.shape[0] * (y_world - y.min()) / y.ptp()
num = 1000
row, col = [np.linspace(item[0], item[1], num) for item in [row, col]]
zi = scipy.ndimage.map_coordinates(z, np.vstack((row, col)))
fig, axes = plt.subplots(nrows=2)
axes[0].pcolormesh(x, y, z)
axes[0].plot(x_world, y_world, 'ro-')
axes[0].axis('image')
axes[1].plot(zi)
plt.show()
Постройте поперечное сечение через тепловую карту