pythonmatplotlib3dsurface

3D surface plotting producing discontinuous polygonal faces instead of a smooth curve


I am trying to plot energy surfaces of triatomic molecules, A-B-C, in Python/Matplotlib. I have tabulated data of bond length (B1 and B2) combinations and computed molecular energies (MP3s) which I want to convert to a smooth 3D surface plot. A similar Excel Macro function output the following Excel surface output:
Excel surface output I implemented a similar graphical solution in Matplotlib (in Jupyter Notebook) using plot_surface:

import libraries:

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as np

set up arrays and retrieve data from file:

N = [] #Not needed
B1 = [] #Bond 1 Distance
B2 = [] #Bond 2 Distance
SCF = [] #Not needed
MP2 = [] #Not needed
MP3 = [] #Energy
filename = #insert filepath here
f = open(filename, 'r')
for line in f:
    columns = line.split()
    N.append(float(columns[0]))
    B1.append(float(columns[1])) #B1
    B2.append(float(columns[2])) #B2
    SCF.append(float(columns[3]))
    MP2.append(float(columns[4]))
    MP3.append(float(columns[5])) #Energy
f.close()

Remove duplicate values from bond distance arrays and convert bond distances and energies to 2D grids:

Xset = set(B1)
Xlist = list(Xset)
Xarray = np.array(Xlist)
Yset = set(B2)
Ylist = list(Yset)
Yarray = np.array(Ylist)
X, Y = np.meshgrid(Xarray, Yarray) #convert X and Y to 2D grids
Zarray = np.array(MP3)
Z = Zarray.reshape(len(Xset), len(Yset)) #convert Z to 2D grid

Plotting the data to output:

fig = plt.figure(figsize =(10, 10))
ax = fig.add_subplot(111, projection='3d') 
surf = ax.plot_surface(X, Y, Z, cmap="viridis")
fig.colorbar(surf, shrink=0.4)
plt.show()

However, the plot generated has large polygonal subsections and is not a smooth, continuous surface, and it has what appear to be inaccurate, smooth plotting artifacts resembling large planar faces. I was curious about the original version so I also decided to plot out a wireframe version and got a similarly confusing result, with what looked like large polygonal faces.

Plot_surface and wireframe versions:
enter image description here

I tested the original text file data with the scatter function and it perfectly reproduced the Excel results, and I then superimposed the results and found that they matched the coarse surface plot relatively well.

Scatter and Surface Plots compared:

enter image description here

I wanted to ensure that the scatter data was mirroring Excel so I rotated it and found additional matching geometry with a similar minimum (The direction of rotation is reversed vs. the Excel).

Head-on view of the scatter plot:
enter image description here

So, I am reasonably sure that the input file contains the right information to recreate an accurate surface plot, and the scatter plot matches Excel, but why doesn't the surface plot output a smooth surface? Is it to do with the low resolution of the data? I am only plotting 484 total points in these examples. Is it not working since the data are not from a self-defined equation but from outside data? Do I possibly need to apply something like a spline fitting to smooth the surface?

Supporting Information Here is a pastebin link to the text file I am using for input: https://pastebin.com/4fURFjMU Note: Only columns 2 (Bond distance 1), 3 (Bond distance 2), and 6 (Molecular Energy) of this file are used for any calculations/input, the other columns are unnecessary output artifacts of the computational program used.

    1     0.7000     0.7000    -98.37390    -98.57110    -98.58410
    2     0.8000     0.7000    -98.46298    -98.66474    -98.67770
    3     0.9000     0.7000    -98.49247    -98.69853    -98.71140
    4     1.0000     0.7000    -98.49104    -98.70128    -98.71400
    5     1.1000     0.7000    -98.47388    -98.68824    -98.70077
    6     1.2000     0.7000    -98.44935    -98.66785    -98.68011
    7     1.3000     0.7000    -98.42241    -98.64533    -98.65713
    8     1.4000     0.7000    -98.39649    -98.62526    -98.63616
    9     1.5000     0.7000    -98.37423    -98.61235    -98.62225
   10     1.6000     0.7000    -98.35668    -98.60720    -98.61857
   11     1.7000     0.7000    -98.34331    -98.60679    -98.62365
   12     1.8000     0.7000    -98.33310    -98.60857    -98.63398
   13     1.9000     0.7000    -98.32513    -98.61123    -98.64673
   14     2.0000     0.7000    -98.31873    -98.61426    -98.66026
   15     2.1000     0.7000    -98.31342    -98.61750    -98.67377
   16     2.2000     0.7000    -98.30890    -98.62091    -98.68698
   17     2.3000     0.7000    -98.30495    -98.62448    -98.69982
   18     2.4000     0.7000    -98.30144    -98.62823    -98.71235
   19     2.5000     0.7000    -98.29826    -98.63216    -98.72463
   20     2.6000     0.7000    -98.29535    -98.63628    -98.73676
   21     2.7000     0.7000    -98.29267    -98.64059    -98.74882
   22     2.8000     0.7000    -98.29017    -98.64508    -98.76086
   23     0.7000     0.8000    -99.16190    -99.36656    -99.37968
   24     0.8000     0.8000    -99.25060    -99.45989    -99.47287
   25     0.9000     0.8000    -99.27908    -99.49270    -99.50547
   26     1.0000     0.8000    -99.27631    -99.49407    -99.50656
   27     1.1000     0.8000    -99.25767    -99.47943    -99.49155
   28     1.2000     0.8000    -99.23153    -99.45716    -99.46884
   29     1.3000     0.8000    -99.20265    -99.43195    -99.44309
   30     1.4000     0.8000    -99.17395    -99.40705    -99.41745
   31     1.5000     0.8000    -99.14855    -99.38995    -99.39814
   32     1.6000     0.8000    -99.12939    -99.38736    -99.39451
   33     1.7000     0.8000    -99.11589    -99.39252    -99.40563
   34     1.8000     0.8000    -99.10640    -99.40007    -99.42466
   35     1.9000     0.8000    -99.09959    -99.40781    -99.44615
   36     2.0000     0.8000    -99.09451    -99.41507    -99.46723
   37     2.1000     0.8000    -99.09058    -99.42173    -99.48680
   38     2.2000     0.8000    -99.08738    -99.42785    -99.50465
   39     2.3000     0.8000    -99.08468    -99.43356    -99.52093
   40     2.4000     0.8000    -99.08232    -99.43898    -99.53594
   41     2.5000     0.8000    -99.08019    -99.44420    -99.54995
   42     2.6000     0.8000    -99.07823    -99.44929    -99.56324
   43     2.7000     0.8000    -99.07640    -99.45434    -99.57601
   44     2.8000     0.8000    -99.07467    -99.45937    -99.58843
   45     0.7000     0.9000    -99.58864    -99.80002    -99.81317
   46     0.8000     0.9000    -99.67767    -99.89382    -99.90673
   47     0.9000     0.9000    -99.70605    -99.92665    -99.93924
   48     1.0000     0.9000    -99.70298    -99.92786    -99.94003
   49     1.1000     0.9000    -99.68402    -99.91305    -99.92471
   50     1.2000     0.9000    -99.65762    -99.89070    -99.90176
   51     1.3000     0.9000    -99.62853    -99.86562    -99.87598
   52     1.4000     0.9000    -99.59946    -99.84093    -99.85046
   53     1.5000     0.9000    -99.57256    -99.82211    -99.83006
   54     1.6000     0.9000    -99.55109    -99.81828    -99.82283
   55     1.7000     0.9000    -99.53576    -99.82431    -99.83076
   56     1.8000     0.9000    -99.52503    -99.83345    -99.84900
   57     1.9000     0.9000    -99.51739    -99.84272    -99.87136
   58     2.0000     0.9000    -99.51180    -99.85116    -99.89396
   59     2.1000     0.9000    -99.50752    -99.85866    -99.91512
   60     2.2000     0.9000    -99.50411    -99.86533    -99.93437
   61     2.3000     0.9000    -99.50128    -99.87138    -99.95181
   62     2.4000     0.9000    -99.49882    -99.87697    -99.96775
   63     2.5000     0.9000    -99.49663    -99.88227    -99.98253
   64     2.6000     0.9000    -99.49463    -99.88739    -99.99645
   65     2.7000     0.9000    -99.49278    -99.89242   -100.00975
   66     2.8000     0.9000    -99.49103    -99.89742   -100.02263
   67     0.7000     1.0000    -99.80989   -100.02698   -100.03998
   68     0.8000     1.0000    -99.89942   -100.12138   -100.13404
   69     0.9000     1.0000    -99.92799   -100.15456   -100.16677
   70     1.0000     1.0000    -99.92504   -100.15607   -100.16773
   71     1.1000     1.0000    -99.90625   -100.14167   -100.15268
   72     1.2000     1.0000    -99.88019   -100.12002   -100.13027
   73     1.3000     1.0000    -99.85169   -100.09617   -100.10552
   74     1.4000     1.0000    -99.82366   -100.07370   -100.08189
   75     1.5000     1.0000    -99.79815   -100.05657   -100.06278
   76     1.6000     1.0000    -99.77677   -100.04861   -100.05181
   77     1.7000     1.0000    -99.75999   -100.04909   -100.05118
   78     1.8000     1.0000    -99.74713   -100.05428   -100.05986
   79     1.9000     1.0000    -99.73726   -100.06130   -100.07460
   80     2.0000     1.0000    -99.72953   -100.06863   -100.09226
   81     2.1000     1.0000    -99.72334   -100.07570   -100.11074
   82     2.2000     1.0000    -99.71826   -100.08232   -100.12894
   83     2.3000     1.0000    -99.71397   -100.08852   -100.14640
   84     2.4000     1.0000    -99.71027   -100.09439   -100.16299
   85     2.5000     1.0000    -99.70702   -100.10001   -100.17879
   86     2.6000     1.0000    -99.70412   -100.10547   -100.19390
   87     2.7000     1.0000    -99.70150   -100.11085   -100.20847
   88     2.8000     1.0000    -99.69911   -100.11620   -100.22262
   89     0.7000     1.1000    -99.91553   -100.13738   -100.15002
   90     0.8000     1.1000   -100.00550   -100.23231   -100.24451
   91     0.9000     1.1000   -100.03434   -100.26589   -100.27752
   92     1.0000     1.1000   -100.03165   -100.26783   -100.27878
   93     1.1000     1.1000   -100.01319   -100.25398   -100.26414
   94     1.2000     1.1000    -99.98755   -100.23305   -100.24230
   95     1.3000     1.1000    -99.95960   -100.21012   -100.21831
   96     1.4000     1.1000    -99.93214   -100.18851   -100.19538
   97     1.5000     1.1000    -99.90689   -100.17090   -100.17590
   98     1.6000     1.1000    -99.88487   -100.15941   -100.16188
   99     1.7000     1.1000    -99.86645   -100.15450   -100.15474
  100     1.8000     1.1000    -99.85139   -100.15474   -100.15479
  101     1.9000     1.1000    -99.83915   -100.15815   -100.16104
  102     2.0000     1.1000    -99.82916   -100.16323   -100.17176
  103     2.1000     1.1000    -99.82090   -100.16902   -100.18526
  104     2.2000     1.1000    -99.81399   -100.17505   -100.20023
  105     2.3000     1.1000    -99.80812   -100.18108   -100.21584
  106     2.4000     1.1000    -99.80306   -100.18703   -100.23157
  107     2.5000     1.1000    -99.79866   -100.19289   -100.24718
  108     2.6000     1.1000    -99.79477   -100.19868   -100.26254
  109     2.7000     1.1000    -99.79130   -100.20443   -100.27762
  110     2.8000     1.1000    -99.78819   -100.21016   -100.29244
  111     0.7000     1.2000    -99.95657   -100.18246   -100.19456
  112     0.8000     1.2000   -100.04688   -100.27779   -100.28932
  113     0.9000     1.2000   -100.07598   -100.31172   -100.32258
  114     1.0000     1.2000   -100.07358   -100.31407   -100.32414
  115     1.1000     1.2000   -100.05546   -100.30071   -100.30987
  116     1.2000     1.2000   -100.03022   -100.28034   -100.28848
  117     1.3000     1.2000   -100.00264   -100.25794   -100.26491
  118     1.4000     1.2000    -99.97543   -100.23652   -100.24214
  119     1.5000     1.2000    -99.95006   -100.21808   -100.22203
  120     1.6000     1.2000    -99.92732   -100.20394   -100.20586
  121     1.7000     1.2000    -99.90750   -100.19468   -100.19444
  122     1.8000     1.2000    -99.89053   -100.18996   -100.18819
  123     1.9000     1.2000    -99.87614   -100.18889   -100.18701
  124     2.0000     1.2000    -99.86397   -100.19043   -100.19033
  125     2.1000     1.2000    -99.85365   -100.19370   -100.19729
  126     2.2000     1.2000    -99.84486   -100.19807   -100.20697
  127     2.3000     1.2000    -99.83732   -100.20311   -100.21857
  128     2.4000     1.2000    -99.83081   -100.20854   -100.23142
  129     2.5000     1.2000    -99.82513   -100.21422   -100.24506
  130     2.6000     1.2000    -99.82016   -100.22005   -100.25916
  131     2.7000     1.2000    -99.81575   -100.22597   -100.27350
  132     2.8000     1.2000    -99.81184   -100.23197   -100.28794
  133     0.7000     1.3000    -99.96204   -100.19141   -100.20281
  134     0.8000     1.3000   -100.05258   -100.28701   -100.29775
  135     0.9000     1.3000   -100.08192   -100.32123   -100.33118
  136     1.0000     1.3000   -100.07982   -100.32393   -100.33299
  137     1.1000     1.3000   -100.06204   -100.31098   -100.31905
  138     1.2000     1.3000   -100.03715   -100.29101   -100.29799
  139     1.3000     1.3000   -100.00985   -100.26890   -100.27467
  140     1.4000     1.3000    -99.98275   -100.24743   -100.25187
  141     1.5000     1.3000    -99.95720   -100.22824   -100.23121
  142     1.6000     1.3000    -99.93387   -100.21227   -100.21360
  143     1.7000     1.3000    -99.91299   -100.19994   -100.19955
  144     1.8000     1.3000    -99.89456   -100.19127   -100.18932
  145     1.9000     1.3000    -99.87844   -100.18593   -100.18296
  146     2.0000     1.3000    -99.86442   -100.18343   -100.18034
  147     2.1000     1.3000    -99.85225   -100.18322   -100.18113
  148     2.2000     1.3000    -99.84169   -100.18477   -100.18493
  149     2.3000     1.3000    -99.83252   -100.18766   -100.19124
  150     2.4000     1.3000    -99.82452   -100.19154   -100.19958
  151     2.5000     1.3000    -99.81752   -100.19615   -100.20952
  152     2.6000     1.3000    -99.81137   -100.20130   -100.22065
  153     2.7000     1.3000    -99.80594   -100.20683   -100.23268
  154     2.8000     1.3000    -99.80113   -100.21266   -100.24534
  155     0.7000     1.4000    -99.94865   -100.18100   -100.19161
  156     0.8000     1.4000   -100.03937   -100.27679   -100.28663
  157     0.9000     1.4000   -100.06893   -100.31124   -100.32021
  158     1.0000     1.4000   -100.06712   -100.31424   -100.32224
  159     1.1000     1.4000   -100.04968   -100.30160   -100.30856
  160     1.2000     1.4000   -100.02510   -100.28192   -100.28775
  161     1.3000     1.4000    -99.99804   -100.25996   -100.26459
  162     1.4000     1.4000    -99.97103   -100.23837   -100.24175
  163     1.5000     1.4000    -99.94534   -100.21860   -100.22069
  164     1.6000     1.4000    -99.92159   -100.20139   -100.20216
  165     1.7000     1.4000    -99.89998   -100.18706   -100.18653
  166     1.8000     1.4000    -99.88054   -100.17567   -100.17397
  167     1.9000     1.4000    -99.86319   -100.16711   -100.16449
  168     2.0000     1.4000    -99.84778   -100.16114   -100.15804
  169     2.1000     1.4000    -99.83415   -100.15747   -100.15446
  170     2.2000     1.4000    -99.82212   -100.15579   -100.15356
  171     2.3000     1.4000    -99.81152   -100.15579   -100.15511
  172     2.4000     1.4000    -99.80216   -100.15719   -100.15884
  173     2.5000     1.4000    -99.79390   -100.15973   -100.16446
  174     2.6000     1.4000    -99.78659   -100.16321   -100.17171
  175     2.7000     1.4000    -99.78012   -100.16745   -100.18031
  176     2.8000     1.4000    -99.77436   -100.17227   -100.19002
  177     0.7000     1.5000    -99.92602   -100.16084   -100.17061
  178     0.8000     1.5000   -100.01689   -100.25677   -100.26568
  179     0.9000     1.5000   -100.04668   -100.29142   -100.29939
  180     1.0000     1.5000   -100.04516   -100.29466   -100.30161
  181     1.1000     1.5000   -100.02802   -100.28228   -100.28815
  182     1.2000     1.5000   -100.00374   -100.26279   -100.26755
  183     1.3000     1.5000    -99.97691   -100.24090   -100.24452
  184     1.4000     1.5000    -99.94999   -100.21918   -100.22166
  185     1.5000     1.5000    -99.92425   -100.19896   -100.20034
  186     1.6000     1.5000    -99.90025   -100.18092   -100.18126
  187     1.7000     1.5000    -99.87819   -100.16530   -100.16473
  188     1.8000     1.5000    -99.85812   -100.15217   -100.15085
  189     1.9000     1.5000    -99.83997   -100.14147   -100.13964
  190     2.0000     1.5000    -99.82365   -100.13307   -100.13103
  191     2.1000     1.5000    -99.80902   -100.12678   -100.12491
  192     2.2000     1.5000    -99.79594   -100.12241   -100.12115
  193     2.3000     1.5000    -99.78426   -100.11975   -100.11959
  194     2.4000     1.5000    -99.77385   -100.11860   -100.12005
  195     2.5000     1.5000    -99.76456   -100.11878   -100.12236
  196     2.6000     1.5000    -99.75628   -100.12010   -100.12633
  197     2.7000     1.5000    -99.74888   -100.12240   -100.13178
  198     2.8000     1.5000    -99.74227   -100.12554   -100.13853
  199     0.7000     1.6000    -99.89961   -100.13637   -100.14528
  200     0.8000     1.6000    -99.99065   -100.23241   -100.24041
  201     0.9000     1.6000   -100.02066   -100.26724   -100.27424
  202     1.0000     1.6000   -100.01939   -100.27068   -100.27662
  203     1.1000     1.6000   -100.00254   -100.25848   -100.26334
  204     1.2000     1.6000    -99.97853   -100.23913   -100.24291
  205     1.3000     1.6000    -99.95192   -100.21726   -100.22000
  206     1.4000     1.6000    -99.92515   -100.19540   -100.19716
  207     1.5000     1.6000    -99.89944   -100.17485   -100.17573
  208     1.6000     1.6000    -99.87534   -100.15621   -100.15637
  209     1.7000     1.6000    -99.85307   -100.13974   -100.13936
  210     1.8000     1.6000    -99.83266   -100.12550   -100.12480
  211     1.9000     1.6000    -99.81407   -100.11344   -100.11270
  212     2.0000     1.6000    -99.79722   -100.10347   -100.10300
  213     2.1000     1.6000    -99.78199   -100.09546   -100.09560
  214     2.2000     1.6000    -99.76827   -100.08926   -100.09039
  215     2.3000     1.6000    -99.75592   -100.08472   -100.08723
  216     2.4000     1.6000    -99.74482   -100.08167   -100.08599
  217     2.5000     1.6000    -99.73485   -100.07997   -100.08650
  218     2.6000     1.6000    -99.72589   -100.07948   -100.08864
  219     2.7000     1.6000    -99.71783   -100.08005   -100.09226
  220     2.8000     1.6000    -99.71059   -100.08157   -100.09720
  221     0.7000     1.7000    -99.87244   -100.11054   -100.11865
  222     0.8000     1.7000    -99.96364   -100.20672   -100.21385
  223     0.9000     1.7000    -99.99385   -100.24170   -100.24778
  224     1.0000     1.7000    -99.99282   -100.24530   -100.25031
  225     1.1000     1.7000    -99.97622   -100.23323   -100.23719
  226     1.2000     1.7000    -99.95247   -100.21396   -100.21691
  227     1.3000     1.7000    -99.92609   -100.19209   -100.19413
  228     1.4000     1.7000    -99.89950   -100.17010   -100.17136
  229     1.5000     1.7000    -99.87390   -100.14927   -100.14992
  230     1.6000     1.7000    -99.84985   -100.13020   -100.13046
  231     1.7000     1.7000    -99.82754   -100.11313   -100.11325
  232     1.8000     1.7000    -99.80702   -100.09813   -100.09839
  233     1.9000     1.7000    -99.78826   -100.08517   -100.08590
  234     2.0000     1.7000    -99.77118   -100.07419   -100.07573
  235     2.1000     1.7000    -99.75569   -100.06507   -100.06778
  236     2.2000     1.7000    -99.74166   -100.05769   -100.06196
  237     2.3000     1.7000    -99.72897   -100.05192   -100.05815
  238     2.4000     1.7000    -99.71752   -100.04763   -100.05621
  239     2.5000     1.7000    -99.70718   -100.04469   -100.05601
  240     2.6000     1.7000    -99.69785   -100.04298   -100.05744
  241     2.7000     1.7000    -99.68942   -100.04238   -100.06036
  242     2.8000     1.7000    -99.68181   -100.04278   -100.06463
  243     0.7000     1.8000    -99.84606   -100.08495   -100.09231
  244     0.8000     1.8000    -99.93742   -100.18127   -100.18760
  245     0.9000     1.8000    -99.96781   -100.21639   -100.22164
  246     1.0000     1.8000    -99.96698   -100.22011   -100.22428
  247     1.1000     1.8000    -99.95062   -100.20815   -100.21130
  248     1.2000     1.8000    -99.92711   -100.18892   -100.19118
  249     1.3000     1.8000    -99.90097   -100.16702   -100.16853
  250     1.4000     1.8000    -99.87461   -100.14491   -100.14588
  251     1.5000     1.8000    -99.84921   -100.12384   -100.12452
  252     1.6000     1.8000    -99.82531   -100.10442   -100.10508
  253     1.7000     1.8000    -99.80311   -100.08689   -100.08785
  254     1.8000     1.8000    -99.78266   -100.07133   -100.07292
  255     1.9000     1.8000    -99.76393   -100.05773   -100.06032
  256     2.0000     1.8000    -99.74684   -100.04603   -100.05001
  257     2.1000     1.8000    -99.73131   -100.03614   -100.04189
  258     2.2000     1.8000    -99.71722   -100.02795   -100.03588
  259     2.3000     1.8000    -99.70446   -100.02136   -100.03186
  260     2.4000     1.8000    -99.69290   -100.01623   -100.02972
  261     2.5000     1.8000    -99.68244   -100.01247   -100.02932
  262     2.6000     1.8000    -99.67298   -100.00994   -100.03057
  263     2.7000     1.8000    -99.66441   -100.00856   -100.03333
  264     2.8000     1.8000    -99.65665   -100.00821   -100.03749
  265     0.7000     1.9000    -99.82122   -100.06039   -100.06708
  266     0.8000     1.9000    -99.91273   -100.15686   -100.16247
  267     0.9000     1.9000    -99.94326   -100.19210   -100.19659
  268     1.0000     1.9000    -99.94261   -100.19592   -100.19935
  269     1.1000     1.9000    -99.92645   -100.18403   -100.18650
  270     1.2000     1.9000    -99.90318   -100.16483   -100.16652
  271     1.3000     1.9000    -99.87731   -100.14289   -100.14404
  272     1.4000     1.9000    -99.85121   -100.12066   -100.12154
  273     1.5000     1.9000    -99.82607   -100.09938   -100.10032
  274     1.6000     1.9000    -99.80241   -100.07966   -100.08099
  275     1.7000     1.9000    -99.78043   -100.06175   -100.06384
  276     1.8000     1.9000    -99.76018   -100.04574   -100.04898
  277     1.9000     1.9000    -99.74163   -100.03163   -100.03642
  278     2.0000     1.9000    -99.72470   -100.01938   -100.02611
  279     2.1000     1.9000    -99.70930   -100.00890   -100.01799
  280     2.2000     1.9000    -99.69533   -100.00012   -100.01196
  281     2.3000     1.9000    -99.68266    -99.99291   -100.00791
  282     2.4000     1.9000    -99.67118    -99.98717   -100.00573
  283     2.5000     1.9000    -99.66078    -99.98280   -100.00530
  284     2.6000     1.9000    -99.65135    -99.97970   -100.00650
  285     2.7000     1.9000    -99.64281    -99.97775   -100.00924
  286     2.8000     1.9000    -99.63506    -99.97686   -100.01339
  287     0.7000     2.0000    -99.79818   -100.03723   -100.04333
  288     0.8000     2.0000    -99.88982   -100.13384   -100.13881
  289     0.9000     2.0000    -99.92047   -100.16919   -100.17301
  290     1.0000     2.0000    -99.91995   -100.17309   -100.17585
  291     1.1000     2.0000    -99.90398   -100.16125   -100.16313
  292     1.2000     2.0000    -99.88095   -100.14206   -100.14331
  293     1.3000     2.0000    -99.85536   -100.12008   -100.12101
  294     1.4000     2.0000    -99.82956   -100.09772   -100.09870
  295     1.5000     2.0000    -99.80473   -100.07625   -100.07766
  296     1.6000     2.0000    -99.78139   -100.05627   -100.05850
  297     1.7000     2.0000    -99.75972   -100.03803   -100.04150
  298     1.8000     2.0000    -99.73976   -100.02164   -100.02676
  299     1.9000     2.0000    -99.72149   -100.00711   -100.01430
  300     2.0000     2.0000    -99.70484    -99.99441   -100.00408
  301     2.1000     2.0000    -99.68969    -99.98348    -99.99601
  302     2.2000     2.0000    -99.67595    -99.97423    -99.99001
  303     2.3000     2.0000    -99.66350    -99.96656    -99.98597
  304     2.4000     2.0000    -99.65221    -99.96038    -99.98377
  305     2.5000     2.0000    -99.64199    -99.95556    -99.98331
  306     2.6000     2.0000    -99.63272    -99.95203    -99.98447
  307     2.7000     2.0000    -99.62431    -99.94967    -99.98715
  308     2.8000     2.0000    -99.61668    -99.94839    -99.99124
  309     0.7000     2.1000    -99.77698   -100.01560   -100.02118
  310     0.8000     2.1000    -99.86870   -100.11234   -100.11672
  311     0.9000     2.1000    -99.89943   -100.14777   -100.15097
  312     1.0000     2.1000    -99.89903   -100.15174   -100.15390
  313     1.1000     2.1000    -99.88325   -100.13995   -100.14130
  314     1.2000     2.1000    -99.86046   -100.12076   -100.12166
  315     1.3000     2.1000    -99.83516   -100.09872   -100.09955
  316     1.4000     2.1000    -99.80969   -100.07624   -100.07746
  317     1.5000     2.1000    -99.78521   -100.05459   -100.05663
  318     1.6000     2.1000    -99.76223   -100.03437   -100.03768
  319     1.7000     2.1000    -99.74092   -100.01584   -100.02086
  320     1.8000     2.1000    -99.72133    -99.99913   -100.00628
  321     1.9000     2.1000    -99.70342    -99.98427    -99.99395
  322     2.0000     2.1000    -99.68711    -99.97123    -99.98383
  323     2.1000     2.1000    -99.67230    -99.95996    -99.97584
  324     2.2000     2.1000    -99.65888    -99.95038    -99.96988
  325     2.3000     2.1000    -99.64672    -99.94241    -99.96585
  326     2.4000     2.1000    -99.63572    -99.93592    -99.96364
  327     2.5000     2.1000    -99.62575    -99.93083    -99.96313
  328     2.6000     2.1000    -99.61671    -99.92704    -99.96422
  329     2.7000     2.1000    -99.60851    -99.92443    -99.96681
  330     2.8000     2.1000    -99.60107    -99.92291    -99.97079
  331     0.7000     2.2000    -99.75750    -99.99553   -100.00061
  332     0.8000     2.2000    -99.84927   -100.09238   -100.09618
  333     0.9000     2.2000    -99.88005   -100.12788   -100.13047
  334     1.0000     2.2000    -99.87977   -100.13191   -100.13348
  335     1.1000     2.2000    -99.86416   -100.12014   -100.12102
  336     1.2000     2.2000    -99.84162   -100.10095   -100.10155
  337     1.3000     2.2000    -99.81662   -100.07884   -100.07967
  338     1.4000     2.2000    -99.79149   -100.05624   -100.05781
  339     1.5000     2.2000    -99.76739   -100.03441   -100.03722
  340     1.6000     2.2000    -99.74480   -100.01397   -100.01849
  341     1.7000     2.2000    -99.72391    -99.99520   -100.00187
  342     1.8000     2.2000    -99.70473    -99.97824    -99.98747
  343     1.9000     2.2000    -99.68722    -99.96313    -99.97529
  344     2.0000     2.2000    -99.67131    -99.94987    -99.96529
  345     2.1000     2.2000    -99.65689    -99.93841    -99.95739
  346     2.2000     2.2000    -99.64384    -99.92867    -99.95149
  347     2.3000     2.2000    -99.63204    -99.92055    -99.94749
  348     2.4000     2.2000    -99.62136    -99.91395    -99.94528
  349     2.5000     2.2000    -99.61169    -99.90876    -99.94475
  350     2.6000     2.2000    -99.60293    -99.90487    -99.94579
  351     2.7000     2.2000    -99.59498    -99.90218    -99.94831
  352     2.8000     2.2000    -99.58777    -99.90059    -99.95219
  353     0.7000     2.3000    -99.73961    -99.97697    -99.98154
  354     0.8000     2.3000    -99.83140   -100.07392   -100.07713
  355     0.9000     2.3000    -99.86223   -100.10949   -100.11145
  356     1.0000     2.3000    -99.86204   -100.11357   -100.11453
  357     1.1000     2.3000    -99.84661   -100.10183   -100.10221
  358     1.2000     2.3000    -99.82431   -100.08261   -100.08294
  359     1.3000     2.3000    -99.79962   -100.06041   -100.06129
  360     1.4000     2.3000    -99.77485   -100.03768   -100.03968
  361     1.5000     2.3000    -99.75114   -100.01568   -100.01934
  362     1.6000     2.3000    -99.72897    -99.99504   -100.00084
  363     1.7000     2.3000    -99.70850    -99.97608    -99.98444
  364     1.8000     2.3000    -99.68977    -99.95895    -99.97023
  365     1.9000     2.3000    -99.67270    -99.94372    -99.95821
  366     2.0000     2.3000    -99.65722    -99.93038    -99.94835
  367     2.1000     2.3000    -99.64322    -99.91889    -99.94058
  368     2.2000     2.3000    -99.63057    -99.90916    -99.93478
  369     2.3000     2.3000    -99.61915    -99.90108    -99.93087
  370     2.4000     2.3000    -99.60882    -99.89455    -99.92872
  371     2.5000     2.3000    -99.59948    -99.88943    -99.92823
  372     2.6000     2.3000    -99.59102    -99.88562    -99.92929
  373     2.7000     2.3000    -99.58335    -99.88301    -99.93179
  374     2.8000     2.3000    -99.57639    -99.88148    -99.93564
  375     0.7000     2.4000    -99.72316    -99.95991    -99.96389

Solution

  • enter image description here

    I guess you shouldn't meshgrid your arrays but rather just reshape them

    import matplotlib.pyplot as plt
    from numpy import array
    
    data_by_rows = array([[float(v)for v in line.split()]for line in open('data')]).T
    x, y, z = data_by_rows[1], data_by_rows[2], data_by_rows[5]
    x, y, z = [arr.reshape(22, 22) for arr in (x, y, z)]
    
    fig, ax = plt.subplots(subplot_kw={'projection':'3d'})
    ax.plot_surface(x, y, z)
    ax.set_xlabel('X')
    ax.set_ylabel('Y')
    ax.view_init(azim=120)
    plt.show()