小编Phi*_*eal的帖子

子图属性错误:“AxesSubplot”对象没有属性“get_extent”

我正在尝试在 matplotlib.pyplot 上实现一个函数,它可以在我的地图中插入标尺和指北针。

\n\n

我正在尝试调整“ http://stackoverflow.com/a/35705477/1072212 ”中的代码为 Geopandas 地理数据集。

\n\n

在我的尝试中,主要问题是获取每个图(轴)的边界框坐标。出现的错误是:“subplot AttributeError:\'AxesSubplot\'对象没有属性\'get_extent\'”

\n\n

我尝试了很多方法来规避这个问题,但没有成功(见附件中的代码)。

\n\n

如下例所示(附件中的代码),我使用巴西的社会经济数据(来自 IBGE - https://www.ibge.gov.br/estatisticas-novoportal/sociais/populacao/9109-projecao-da-populacao。 html?=&t=下载)。

\n\n

该社会经济数据已根据巴西的 shapefile 进行地理定位(获取于:http ://www.codegeo.com.br/2013/04/shapefiles-do-brasil-para-download.html)进行地理定位,并在下面的代码为“SHP_joined”。因此,为了更好地描述它,SHP_joined 是一个 geopandas 地理数据框,我试图从中实现其图中的标尺和指北针。

\n\n

还提供了我想要的最终图像的示例。“在此图像示例中,它仍然缺少标尺和指北针”

\n\n

感谢您抽出宝贵的时间,希望很快能收到您的回复。

\n\n
`# -*- coding: utf-8 -*-\n"""\nCreated on Fri Jul 20 14:53:26 2018\n\n@author: Terry Brown - Adapted by Philipe Leal\n"""\n\nimport os\nimport cartopy.crs as ccrs\nfrom math import floor\nimport matplotlib.pyplot as plt\nfrom matplotlib import patheffects\nimport numpy as np\nimport matplotlib\nif os.name == \'nt\':\n    matplotlib.rc(\'font\', family=\'Arial\')\nelse:  \n    # …
Run Code Online (Sandbox Code Playgroud)

python maps matplotlib geopandas

5
推荐指数
1
解决办法
4万
查看次数

如何在 NetCDF 上应用 xarray u_function 并将二维数组(多个新变量)返回到数据集

我正在尝试使用 xarray 在数据集中的所有坐标对(即像素)apply_ufunc上应用给定函数f

该函数f返回一个二维数组(NxN 矩阵)作为结果。因此,分析后得到的 Dataset 会有几个新变量:总共是M新变量。

该功能f确实工作得很好。所以,错误似乎不是来自它。

一个可能的问题可能是 2D 数组从 返回的结构f。据我了解,xarray.apply_ufunc要求结果数组以元组结构。所以,我什至尝试将二维数组转换为数组元组,但到目前为止没有任何效果。

这种情况可以在其他地方的其他作品被选中的作品也是如此。在本链接中,作者必须在原始数据集上运行两次相同的线性回归拟合函数,以便从回归中检索所有参数(beta_0 和 alpha)。

因此,我想知道,是否xarray.apply_ufunc能够像上面的链接(或下面的代码片段)中那样操作归约函数,该函数返回多个新变量。

下面我展示了一个涉及所讨论问题的可重现代码。请注意,该函数f返回一个二维数组。第二维的深度是4。因此,我希望在整个处理后得到一个带有4个新变量的结果数据集。

import numpy as np
import xarray as xr


x_size = 10
y_size = 10
time_size = 30

lon = np.arange(50, 50+x_size)
lat = np.arange(10, 10+y_size)
time = np.arange(10, 10+time_size)

array = np.random.randn(y_size, x_size, time_size)

ds = xr.DataArray(
    data=array, 
    coords = {'lon':lon, 'lat':lat, 'time':time}, …
Run Code Online (Sandbox Code Playgroud)

python netcdf python-xarray

3
推荐指数
1
解决办法
724
查看次数

标签 统计

python ×2

geopandas ×1

maps ×1

matplotlib ×1

netcdf ×1

python-xarray ×1