python中的曲面图和抖动图不工作

2024-06-16 10:41:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的代码,应该创建两个图,一个曲面图和一个箭袋图。然而,由于某些原因,这并不起作用。我什么也没看见。打印例程位于文件的末尾。我做错了什么

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

如果你有任何问题,请告诉我


Tags: importmatplotlibnppltcallmultimatelev