Как исправить 'NameError: имя' cartopy 'не определено', на графике о температуре поверхности моря в питоне? - PullRequest
0 голосов
/ 11 апреля 2019

Я действительно новичок в python, и мне нужно вывести данные netcdf температуры поверхности моря (sst) в python, но он продолжает давать ошибку.

Я использую тот же код в другом ноутбуке, и он отлично работает.

###SST CÓDIGO PLOT
import numpy as np                                                                     
import matplotlib.pyplot as plt                                                    
from numpy import pi                                                                
from mpl_toolkits.basemap import Basemap                                               
from netCDF4 import Dataset                                                               
import pandas as pd                                                               
from scipy import stats                                                           
import seaborn as sns                                                                
import xarray as xr                                                                 
import cartopy.crs as ccrs                                                          
import os                                                                           
from netCDF4 import Dataset as netcdf_dataset                                          
from cartopy import config                                                                       
import statistics                                                                         
import glob                                                                         
import seaborn as sns                                                                                                                          

ds = xr.open_dataset('/home/mayna/Downloads/d86/20190327010000-OSISAF-L3C_GHRSST-SSTsubskin-GOES16-ssteqc_goes16_20190327_010000-v02.0-fv01.0.nc')                                                                              

plt.figure(figsize=(8,4))                                                            
ax = plt.axes(projection=ccrs.PlateCarree())                                         
ax.add_feature(cartopy.feature.BORDERS, linestyle='-', linewidth=0.25)                 
ax.coastlines(linewidth=0.25)                                                        

ds['sea_surface_temperature'][0,:,:].plot.contourf(levels=20, ax=ax, transform=ccrs.PlateCarree(),cmap='coolwarm')                                                                                                                        

В нем говорится, что ошибка находится в строке "ax.add_feature (cartopy.feature.BORDERS, linestyle = '-', linewidth = 0.25)", что "NameError: имя 'cartopy' не определено".
В чем вы думаете это проблема?
П.С .: Я знаю, что я использую много библиотек, которые не нужны

Ответы [ 2 ]

1 голос
/ 11 апреля 2019

Вы, кажется, никогда не определяли cartopy. Возможно, import cartopy наверху решит вашу проблему.

0 голосов
/ 11 апреля 2019

Ошибка имени в python означает, что определенный атрибут / метод не импортирован в программу. В коде вы используете cartopy.crs, cartopy.config и cartopy.features.Border, но только первые два импортируются через ваши операторы

import cartopy.crs as crash

и

from cartopy import config

Так что для функций. Порядок, вы либо делаете

import cartopy 

Или

from cartopy import features.Border #use just features.Border in that line if you are doing this.
...