это первый раз, когда я спрашиваю на этом портале, поэтому я прошу прощения, если я сделал что-то не так.
У меня есть три списка, которые представляют координаты x, y, z следующим образом:
X_grid = [[], [], ..., []]
Y_grid = [[], [], ..., []]
Z_grid = [[], [], ..., []]
У меня определено значение NODATA_value, которое находится внутри списка Z_grid, для точек, где у меня нет значения измерения.
Проблемазаключается в том, что я не могу изменить оси x, y графика, чтобы вместо указания значения положения элемента в матрице указывались координаты x, y.
Важно, чтобы каждыйТочка рисуется в виде квадрата, а не прямоугольника, поскольку они представляют пиксели.
Я прилагаю код, который у меня есть сейчас.Я был бы очень признателен, если бы кто-то помог мне в этом.
[текущий результат] https://ibb.co/kyzCtBK
def visualizar_grid(X_grid, Y_grid, Z_grid, NODATA_value, name_DTM):
import numpy as np
import matplotlib.pyplot as plt
grid = Z_grid
for i in range(len(Z_grid)):
for j in range(len(Z_grid[0])):
if Z_grid[i][j] == NODATA_value:
grid[i][j] = grid[i][j]*np.nan
plt.matshow(grid[::-1], cmap = 'jet')
plt.gca().invert_yaxis()
plt.colorbar()
plt.grid()
plt.title(name_DTM)
image = plt.show()
return image