我有下面的代码,应该创建两个图,一个曲面图和一个箭袋图。然而,由于某些原因,这并不起作用。我什么也没看见。打印例程位于文件的末尾。我做错了什么
import numpy as np
import elev_multi_call
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import LinearLocator
import grad_field
def call_google_API(latmin,latmax,samples1, lngmin,lngmax,samples2):
elev_mat=[]
if samples1 <= samples2: # output is array with first lat in first column
i = 0
while i<samples1:
i = i+1
w = latmin + i*(latmax-latmin)/samples1
if i == 1:
elev_mat=(elev_multi_call.elev_multi_call(w, lngmin,w,lngmax,samples2));
else:
elev_mat = np.c_[elev_mat, elev_multi_call.elev_multi_call(w, lngmin,w,lngmax,samples2)]
else :
i=0
while i<samples2:
i = i+1
w = lngmin + i*(lngmax-lngmin)/samples2
if i == 1:
elev_mat = elev_multi_call.elev_multi_call(latmin, w,latmax,w,samples1)
else:
elev_mat = np.c_[elev_mat, elev_multi_call.elev_multi_call(w, lngmin,w,lngmax,samples1)]
elev_mat = np.transpose(elev_mat)
fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
LNG = np.linspace(lngmin,lngmax,samples1)
LAT = np.linspace(latmin,latmax, samples2)
X, Y = np.meshgrid(LNG,LAT)
ax.plot_surface(X, Y, elev_mat)
[gradx,grady] = grad_field.grad_field(elev_mat)
fig1, ax1 = plt.subplots()
ax1.set_title('Arrows scale with plot width, not view')
Q = ax1.quiver(X, Y, gradx, grady, units='width')
plt.show()
return elev_mat
如果你有任何问题,请告诉我
目前没有回答
相关问题 更多 >
编程相关推荐