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

Я действительно новичок в 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' не определено".
В чем вы думаете это проблема?
PS: я знаю, что я использую много библиотек, которые не нужны

2 ответа

Решение

Ошибка имени в 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.

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

Для меня я установил пакет cartopy в jupyter, но все же он показывал ошибку, если cartopy не определена.(Я строил графики с помощью cartopy.ccrs для стереографических графиков)

Решение: перед импортом и выполнением cartopy.ccrs просто выполните 'import cartopy' в самой первой строке, а затем запустите коды. У меня это сработало.

Другие вопросы по тегам