У меня есть nx3
массив, позволяет называть его data
, где я хочу первые 2 колонки, чтобы быть x
и y
координаты и 3-й столбец быть z
координат, связанной с x
и y
координаты в той же строки.Поверхностный участок с Matplotlib, Python
Теперь я хочу нарисовать участок поверхности, где поверхность пересекает все координаты z
.
Я видел this пост, но не могу понять.
Я знаю, что я могу использовать Matplotlib-х Axes3D
и fig.gca(projection='3d')
и что она занимает 3 nxn
массивы, где я думаю X
и Y
массивы могут быть получены с X,Y = np.meshgrid(data[:,0],data[:,1])
, но я не уверен, как получить nxn
Z
массив, если есть составляет только 1 Z
Координата, связанная с каждым x
и y
.
Затем я хотел бы сгладить поверхность, так как я уверен, что поверхность с несколькими точками данных будет выглядеть уродливой, и я просто хочу представить общую форму данных, а конкретные значения не слишком важный. Таким образом, есть ли способ интерполировать между точками данных в 2 измерениях, чтобы сгладить график?
Пример набора данных:
data = np.array([[4260,150,116]
[4204,149,1070]
[4204,188,470]
[4444,140,389]
[3255,149,69]
[6370,149,1109]
[5765,189,3531]])