Интерполяция с использованием функции matplotlib tricontourf в python

Я довольно новичок в программировании на питоне. Данные, с которыми я работаю, генерируются в процессе фильтрации с помощью стороннего программного обеспечения, так что есть три массива, x, y и z, которые не нужно упорядочивать в двумерной сетке, а его контурный график может быть получен с использованием tricontourf(x,y,z) или tricontour(z,y,z) из библиотеки matplotlib.

Однако контурный график выглядит так, как показано ниже здесь. Для некоторой перспективы вот последние 50 строк данных в трех массивах (x, y и z):

33.000000   -6.000000   -0.5318
34.000000   -6.000000   -0.851
35.000000   -6.000000   -1.2272
36.000000   -6.000000   -1.5542
37.000000   -6.000000   -1.7379
38.000000   -6.000000   -1.7604
39.000000   -6.000000   -1.6388
40.000000   -6.000000   -1.4163
41.000000   -6.000000   -1.1581
42.000000   -6.000000   -0.9236
21.000000   -7.000000   -0.1708
22.000000   -7.000000   -0.071
23.000000   -7.000000   -0.1835
24.000000   -7.000000   -0.4963
25.000000   -7.000000   -0.905
26.000000   -7.000000   -1.2861
27.000000   -7.000000   -1.517
28.000000   -7.000000   -1.5054
29.000000   -7.000000   -1.2797
30.000000   -7.000000   -0.9375
31.000000   -7.000000   -0.5956
32.000000   -7.000000   -0.3749
33.000000   -7.000000   -0.3736
34.000000   -7.000000   -0.5786
35.000000   -7.000000   -0.9207
36.000000   -7.000000   -1.3124
37.000000   -7.000000   -1.6598
38.000000   -7.000000   -1.8716
39.000000   -7.000000   -1.9304
24.000000   -8.000000   -0.2939
25.000000   -8.000000   -0.702
26.000000   -8.000000   -1.1314
27.000000   -8.000000   -1.4689
28.000000   -8.000000   -1.6089
29.000000   -8.000000   -1.5114
30.000000   -8.000000   -1.2546
31.000000   -8.000000   -0.9426
32.000000   -8.000000   -0.6808
33.000000   -8.000000   -0.5766
34.000000   -8.000000   -0.6864
35.000000   -8.000000   -0.9568
36.000000   -8.000000   -1.3126
27.000000   -9.000000   -1.2369
28.000000   -9.000000   -1.4891
29.000000   -9.000000   -1.5975
30.000000   -9.000000   -1.5301
31.000000   -9.000000   -1.3623
32.000000   -9.000000   -1.1902
33.000000   -9.000000   -1.0836
30.000000   -10.000000  -1.8646

Данные хранятся таким образом, что они треугольно проецируются вниз в двухмерном кадре. Я хотел бы знать, как экстраполировать контуры, чтобы полностью заполнить прямоугольную рамку, как показано ниже здесь. Он получен с помощью программного обеспечения для серфинга с использованием того же набора данных. Любая помощь будет высоко оценена. Предпочтительно можно использовать интерполяцию методом кригинга.


person Chandan Dey    schedule 18.08.2020    source источник
comment
Экстраполяция выглядит очень условно. Это как фотография, где половины не хватает, а кто-то выдумывает другую половину.   -  person JohanC    schedule 18.08.2020
comment
@JohanC запрос соответствует этому сообщению stackoverflow.com/questions/63431388/, где вы помогли мне с функцией tricontourf. Буду рад, если вы поможете мне с экстраполяцией.   -  person Chandan Dey    schedule 18.08.2020
comment
Ну, я не думаю, что есть простой ответ, и такая экстраполяция не может показать ничего близкого к тому, что действительно было бы в невидимой области. Лучше оставить его пустым.   -  person JohanC    schedule 18.08.2020
comment
@JohanC Спасибо за предложение. На самом деле очень разумно оставить его пустым. Тем не менее, я заинтересован в выполнении экстраполяции, так как экстраполированные шаблоны на картах серферов довольно хорошо соответствуют информации о сайте. Surfer применяет алгоритмы экстраполяции кригинга. В любом случае, спасибо.   -  person Chandan Dey    schedule 18.08.2020
comment
@JohanC Спасибо за предложение. На самом деле очень разумно оставить его пустым. Тем не менее, я заинтересован в выполнении экстраполяции, так как экстраполированные шаблоны на картах серферов довольно хорошо соответствуют информации о сайте. Surfer применяет алгоритмы экстраполяции кригинга. В любом случае, спасибо.   -  person Chandan Dey    schedule 18.08.2020