Сглаживание; как правильно интерполировать диагонали? - PullRequest
1 голос
/ 07 марта 2020

У меня есть фиксированная сетка точек данных, между которыми я буду sh для интерполяции. Я не могу создать больше очков. К сожалению, все алгоритмы, которые я пробовал до сих пор, похоже, портят диагонали; они создают лестничный рисунок в местах, которые должны быть прямой линией.

На изображении ниже данные существуют в сетке точек (окрашены в соответствии с высотой), и тепловая карта (pyplot.contourf) - моя попытка их интерполировать. Линия, идущая от [260, 130] до [400, 190], должна быть прямой, это видно по цвету точек сетки (я также знаю, что это верно для данных).

Plot with bad interpolation.

Я полагаю, что это происходит, потому что все алгоритмы, которые я пробовал, предполагают, что данные имеют симметрию вращения - а сетка - нет. Я перепробовал все доступные опции scipy.interpolate.Rbf и хороший диапазон опций от scipy.interpolate.RectBivariateSpline.

Существует ли какой-либо метод сглаживания или интерполяции, который мог бы создать правильную диагональную линию здесь?

Для простота тестирования, вот данные с сюжета;

6.725675091750919599e+00 8.705208495268367486e+00 8.642014074690514747e+00 7.996189995106797177e+00 4.923092767752126897e-02 3.636442947894170941e-02 2.999633624605748186e-02 2.567089743801283241e-02 2.234529602233969667e-02 1.963698251380007614e-02 1.736496828738669576e-02 1.542836991231826861e-02 1.376422123906624433e-02 1.229296648658740818e-02 1.099753646107394685e-02 9.856664889470196506e-03 8.850550444504060726e-03 7.961843088230287357e-03 7.175367814315622081e-03 6.478041492037139686e-03 5.858611583676912038e-03 5.307336174550147945e-03 4.815789489403293940e-03 4.376682398473131022e-03 3.983720283965531267e-03 3.631439345517079118e-03 3.315081863584416755e-03 3.030505047231043907e-03
-1.000000000000000000e+00 5.485336653104292637e+00 7.139093960590264132e+00 7.126270619476900769e+00 6.634516123246247510e+00 6.009188267465730426e+00 4.252129511774777743e-02 3.053863367575162038e-02 2.474771888878091186e-02 2.094027828096493155e-02 1.809742734624478558e-02 1.583706255164253965e-02 1.397888561484136871e-02 1.238691145164887326e-02 1.101518873594492347e-02 9.825900667101740427e-03 8.789344076665117980e-03 7.882018757512015972e-03 7.084812398906279764e-03 6.382058202827637847e-03 5.760773914918778174e-03 5.210042065137355377e-03 4.720628368172345192e-03 4.284682753650366667e-03 3.895518847777763947e-03 3.547398848249899792e-03 3.235373818643720676e-03 2.955168173747726047e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 4.488804176943465229e+00 5.873279374707525591e+00 5.891635767134713930e+00 5.510950567361867947e+00 5.018761236054977815e+00 4.512966704758790470e+00 3.589677406910481844e-02 2.532188070778276096e-02 2.028330727422824817e-02 1.703779807780694128e-02 1.466506765794360796e-02 1.277840166153244687e-02 1.122886806505238137e-02 9.928627110648144058e-03 8.821453130493770237e-03 7.868821498602705800e-03 7.042663282771253683e-03 6.321755412883385550e-03 5.689556850464529657e-03 5.132812130475266493e-03 4.640719300495445114e-03 4.204359778004125928e-03 3.816309086348839037e-03 3.470314738779711836e-03 3.161066629697146125e-03 2.884034671401815384e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 3.684960677585138900e+00 4.844831423562288464e+00 4.882404943238022987e+00 4.586803351776508109e+00 4.194493776101733573e+00 3.789821903769221123e+00 3.402585739853841051e+00 2.990244177361232880e-02 2.084943838651185863e-02 1.658220436641905451e-02 1.383856428083814205e-02 1.183893534097004568e-02 1.028088283164294708e-02 9.017731150628397960e-03 7.967357342174191323e-03 7.078629532729446838e-03 6.317267668755785666e-03 5.658944571250782742e-03 5.085569447463721311e-03 4.583239355601068793e-03 4.140994769285515770e-03 3.750039184112919938e-03 3.403182137100055956e-03 3.094463766617857724e-03 2.818899132806603966e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 3.033034045871355833e+00 4.005842658920920840e+00 4.054303780626110409e+00 3.824348567472149796e+00 3.510765703566341767e+00 3.183873587139914196e+00 2.870988639320236846e+00 2.580941217834730406e+00 2.473464962992169558e-02 1.708385131228163864e-02 1.347519768312121190e-02 1.118926292326703591e-02 9.543181787887409367e-03 8.272929118794843800e-03 7.250760750203010148e-03 6.405464422673717677e-03 5.693166643690170982e-03 5.084698347989279228e-03 4.559542251175256571e-03 4.102625398018477920e-03 3.702508420412164904e-03 3.350257680763656532e-03 3.038738997912431971e-03 2.762162582853286766e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 2.521552514039852699e+00 3.344479606719516163e+00 3.398636377369692152e+00 3.218164427408305439e+00 2.965083493459210295e+00 2.698444876259421310e+00 2.441842579215198761e+00 2.204698897647769495e+00 1.983356996213763601e+00 2.043096507954474117e-02 1.401147988202867782e-02 1.100035717178433556e-02 9.107251811280336548e-03 7.753926406487786534e-03 6.716003893578959862e-03 5.884944640582933512e-03 5.200309806795129150e-03 4.624973921913661835e-03 4.134412978780310777e-03 3.711517819969300472e-03 3.343808773533403760e-03 3.021858631327367650e-03 2.738353993083706642e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 2.084404035330494676e+00 2.775726160351844385e+00 2.831438345188597605e+00 2.690843776084932415e+00 2.487879182206266471e+00 2.271989145910582319e+00 2.063282707090490220e+00 1.864678076072238566e+00 1.681675813853973578e+00 1.514651045234113980e+00 1.665712423274459328e-02 1.137253307418887617e-02 8.902240297876661337e-03 7.356846287154157442e-03 6.257592920349564110e-03 5.418201862808937237e-03 4.748447361358295975e-03 4.198151268944548715e-03 3.736594498528615724e-03 3.343563396394458407e-03 3.004999479746258296e-03 2.710699856068350330e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 1.725562129334184291e+00 2.306550024564656631e+00 2.361374532514766589e+00 2.251926748851599047e+00 2.089249338479792328e+00 1.914696929721635188e+00 1.740335076167778938e+00 1.575657548930068597e+00 1.424012134982170608e+00 1.286165803452426815e+00 1.161129634263231125e+00 1.354098243603423304e-02 9.218028201152016557e-03 7.202124306610579660e-03 5.945511989832106582e-03 5.054869251032961808e-03 4.376892709300918630e-03 3.837305426416838527e-03 3.394827259574611372e-03 3.024210716532354116e-03 2.708887416261288560e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 1.430018745647082090e+00 1.918363799926571245e+00 1.970768710678979740e+00 1.885893216878632872e+00 1.755796651629424110e+00 1.610462925682283108e+00 1.466432169382786199e+00 1.330401829449024742e+00 1.204931829891187300e+00 1.090673555388492533e+00 9.873306859256382184e-01 8.937436924925913351e-01 1.098910297508614263e-02 7.466645273095874093e-03 5.826945921586550170e-03 4.807522663009935852e-03 4.086917350287484589e-03 3.539674494181593682e-03 3.104960820406866932e-03 2.748982061718911307e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 1.185873270565672044e+00 1.596311047675771366e+00 1.645543513718777717e+00 1.580139886765224544e+00 1.472328837607571383e+00 1.352894525837307294e+00 1.234436057650640350e+00 1.122309579181141936e+00 1.018638927245445469e+00 9.239923011564589173e-01 8.381956779833927840e-01 7.607160186422311510e-01 6.905382893518868803e-01 8.908152313703704417e-03 6.045447043139130956e-03 4.714668454574556800e-03 3.888985995249054795e-03 3.306521017864479627e-03 2.864966984099872379e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 9.836269782675922668e-01 1.328572644188970475e+00 1.374210658139104702e+00 1.320601799384196084e+00 1.232750576275593479e+00 1.135104638054458714e+00 1.037930159684174569e+00 9.456722274901471215e-01 8.601191799877522248e-01 7.817985796506610185e-01 7.106247517729111784e-01 6.462103185562918517e-01 5.880268203135650129e-01 5.352614900390183506e-01 7.214385460603482680e-03 4.892541936696086398e-03 3.814349762969823036e-03 3.146430564602868338e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 8.157263756612713745e-01 1.105391992130978496e+00 1.144167658907605967e+00 1.101611716734452129e+00 1.030505135804498762e+00 9.509297148321408377e-01 8.713944138208862267e-01 7.956098640282082135e-01 7.251127460079027642e-01 6.603954715371581630e-01 6.014298646477234112e-01 5.479351246209166471e-01 4.995154653071886552e-01 4.557290491975304891e-01 4.159422103522243397e-01 5.836582087001124935e-03 3.956794896574950156e-03
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 6.757344798055526791e-01 9.162909027915874249e-01 9.503790936941698408e-01 9.170428183623285934e-01 8.597416309925418609e-01 7.950807745800626547e-01 7.301243304626841013e-01 6.679946516404514645e-01 6.100166660776009664e-01 5.566394865651476120e-01 5.078774709781828101e-01 4.635310898938638791e-01 4.233035130536595414e-01 3.868580975337843064e-01 3.538455659141024334e-01 3.237919802823134297e-01
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 5.569762792449868272e-01 7.572473188012466272e-01 7.873085801367544212e-01 7.614375333427584325e-01 7.154478620694991742e-01 6.630584926357723230e-01 6.101474666884244558e-01 5.593429020510908289e-01 5.117789978228235448e-01 4.678631707464305789e-01 4.276389686503351828e-01 3.909701070541916623e-01 3.576333971095609354e-01 3.273690845761809687e-01 2.999086686154879278e-01
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 4.561057304377209576e-01 6.220452298752879861e-01 6.483726724170875144e-01 6.285230255214818706e-01 5.918563084286864173e-01 5.496661753892821967e-01 5.068224700964072404e-01 4.655204895674353582e-01 4.267263492506732647e-01 3.908050716675127711e-01 3.578198086079014129e-01 3.276796581890917825e-01 3.002180256512985701e-01 2.752361026815375866e-01
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 3.682451350427340953e-01 5.038790161945991830e-01 5.265495783746175773e-01 5.115990616365226895e-01 4.827859488284297895e-01 4.492857830629580218e-01 4.150743104111880299e-01 3.819611523652667318e-01 3.507572136698119403e-01 3.217839409950279395e-01 2.951124881431995139e-01 2.706851628845311497e-01 2.483806903819527345e-01
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 2.895016906486092001e-01 3.974649250006357937e-01 4.163995624509960192e-01 4.054834914042576011e-01 3.834459396920140706e-01 3.575442800760501028e-01 3.309405946684506050e-01 3.050873491583486752e-01 2.806474779775608441e-01 2.578928980070041566e-01 2.368945010830766640e-01 2.176194590931413153e-01
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 2.176300161082410645e-01 2.997891187311615968e-01 3.148502584986909714e-01 3.072665651086108340e-01 2.911550756626476444e-01 2.720058163499181614e-01 2.522236031368310094e-01 2.329235599269492141e-01 2.146215706979905935e-01 1.975356712755864663e-01 1.817305093023927620e-01
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 1.524225700955080254e-01 2.106550595425804862e-01 2.217744684417622403e-01 2.168914742636152970e-01 2.059205723169517388e-01 1.927310792729680922e-01 1.790272717139844982e-01 1.656051461934793523e-01 1.528375997721949653e-01 1.408869208988959842e-01
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 9.560031523042195056e-02 1.325492271133060229e-01 1.398742902486663775e-01 1.370748511900558020e-01 1.303865649646343827e-01 1.222518306435445012e-01 1.137511947277242280e-01 1.053927853874761650e-01 9.741773729599280396e-02
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 4.971952358280080225e-02 6.915170762942025873e-02 7.313946817288384528e-02 7.181734116686487590e-02 6.843748336134103383e-02 6.427765879587941933e-02 5.990553920727482301e-02 5.558996880175506861e-02
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 1.611695312246225545e-02 2.248414270933147066e-02 2.383305836215856774e-02 2.344692029799258851e-02 2.238270944434950574e-02 2.105693115774039809e-02 1.965542495667023382e-02
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 5.221926848310570876e-04 7.306336188332612823e-04 7.761150391446119956e-04 7.649483981497603351e-04 7.314650044699514721e-04 6.892332165233361861e-04
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 3.660262565542963978e-04 5.135899166598028101e-04 5.466822803021438495e-04 5.397746480230356490e-04 5.169895981946326423e-04
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 2.903033249057048273e-04 4.084624477089373131e-04 4.356439762898415484e-04 4.308767102763616649e-04
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 2.409712868215508925e-04 3.399553435289465208e-04 3.632724955587051155e-04
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 2.050503821998958607e-04 2.900249663367532381e-04
-1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 -1.000000000000000000e+00 1.772929900080945289e-04

Вот фрагмент кода, который при объединении с данными воспроизводит проблему. Это не код, используемый для вышеприведенного графика, потому что он установлен в гораздо большем фреймворке, который не нужен, чтобы увидеть проблему.

import numpy as np
from matplotlib import pyplot as plt
import scipy.interpolate
import debug

# load data
x_max = y_max = 100
data = np.genfromtxt("tmp_points.dat")
n_data_ys, n_data_xs = data.shape
data_xs = np.linspace(0, x_max, n_data_xs)
data_ys = np.linspace(0, y_max, n_data_ys)

# coordinates to interpolate on
n_interpolated_points = 50
xs = ys = np.linspace(0, x_max, n_interpolated_points)

# make interpolator
d_xx, d_yy = np.meshgrid(data_xs, data_ys)
data_points = np.vstack((d_xx.flatten(), d_yy.flatten())).T
interpolator = scipy.interpolate.CloughTocher2DInterpolator(data_points, data.flatten(), fill_value=-1)

# use interpolation
xx, yy = np.meshgrid(xs, ys)
points = np.vstack((xx.flatten(), yy.flatten())).T
prd_grid = interpolator(points)
prd_grid = prd_grid.reshape((n_interpolated_points, n_interpolated_points))
plt.contourf(xs, ys, prd_grid, levels=10)
plt.scatter(*data_points.T, c=data.flatten(), cmap='jet', s=3.2, marker='X', label="Data points")
plt.legend()
plt.show()

...