小编bla*_*kbk的帖子

xarray 选择最近的纬度/经度与多维坐标

我有一个具有不规则间隔纬度和经度坐标的 xarray 数据集。我的目标是在最接近某个纬度/经度的点处找到变量的值。

由于xy尺寸不是纬度/经度值,因此ds.sel()在这种情况下似乎不能单独使用该方法。是否有一种以 xarray 为中心的方法来通过参考多维纬度/经度维度来定位最接近所需纬度/经度的点?例如,我想提取最接近lat=21.2和的 SPEED 值lon=-122.68

下面是一个示例数据集...

lats = np.array([[21.138  , 21.14499, 21.15197, 21.15894, 21.16591],
                 [21.16287, 21.16986, 21.17684, 21.18382, 21.19079],
                 [21.18775, 21.19474, 21.20172, 21.2087 , 21.21568],
                 [21.21262, 21.21962, 21.22661, 21.23359, 21.24056],
                 [21.2375 , 21.2445 , 21.25149, 21.25848, 21.26545]])  

lons = np.array([[-122.72   , -122.69333, -122.66666, -122.63999, -122.61331],
                 [-122.7275 , -122.70082, -122.67415, -122.64746, -122.62078],
                 [-122.735  , -122.70832, -122.68163, -122.65494, -122.62825],
                 [-122.7425 , -122.71582, -122.68912, -122.66243, -122.63573],
                 [-122.75001, -122.72332, -122.69662, -122.66992, …
Run Code Online (Sandbox Code Playgroud)

python python-xarray

9
推荐指数
3
解决办法
5854
查看次数

Cartopy 的县寄宿生

您如何在 Cartopy 中绘制美国县边界?

绘制州和国家边界非常简单

ax.add_feature(cfeature.BORDERS.with_scale('50m'))
ax.add_feature(cfeature.STATES.with_scale('50m'))
Run Code Online (Sandbox Code Playgroud)

但我似乎找不到类似的方法来添加县界。这是 Basemap 的优点之一。

python cartopy

7
推荐指数
1
解决办法
4638
查看次数

numpy.arange除以零错误

我使用了numpy的arange函数来制作以下范围:

a = n.arange(0,5,1/2)
Run Code Online (Sandbox Code Playgroud)

这个变量本身很好用,但是当我尝试将它放在我的脚本中的任何地方时,我得到一个错误

ZeroDivisionError:除以零

python numpy

6
推荐指数
1
解决办法
2283
查看次数

Python - 找出图像中有多少是黑色的

我正在下载像satellite_image这样的卫星图片 http://home.chpc.utah.edu/~u0553130/NASA_SPoRT_VIIRS_Images/VIIRS_11um_20150104_1834_UTC.gif 因为有些图像大多是黑色的,就像这个,我不想保存它.

如何使用python检查图像是否超过50%黑色?

python satellite python-imaging-library

6
推荐指数
2
解决办法
1万
查看次数

如何检查图中是否存在colorbar

问题:有没有办法检查颜色条是否已经存在?

我正在制作许多带有循环的情节.问题是每次迭代都会绘制颜色条!

在此输入图像描述

如果我可以确定颜色条是否存在,那么我可以将颜色条功能放在if语句中.

if cb_exists:
    # do nothing
else:
    plt.colorbar() #draw the colorbar
Run Code Online (Sandbox Code Playgroud)

如果我使用多处理来制作数字,是否可以防止添加多个颜色条?

import numpy as np
import matplotlib.pyplot as plt
import multiprocessing

def plot(number):
    a = np.random.random([5,5])*number
    plt.pcolormesh(a)
    plt.colorbar()
    plt.savefig('this_'+str(number))

# I want to make a 50 plots
some_list = range(0,50)
num_proc = 5
p = multiprocessing.Pool(num_proc)
temps = p.map(plot, some_list)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我知道在绘制下一次迭代之前我可以用plt.clf()和plt.cla()清除这个图.但是,我在我的底图图层上有数据我不想重新绘制(这会增加创建绘图所需的时间).所以,如果我可以删除颜色条并添加一个新颜色,我会节省一些时间.

python matplotlib colorbar

6
推荐指数
1
解决办法
1583
查看次数

你如何在 python 列表理解中关闭文件?

我试图从许多 HDF5 文件中提取值并存储在列表中。

import h5py
h = [h5py.File('filenum_%s.h5' % (n),'r')['key'][10][10] for n in range(100)]
Run Code Online (Sandbox Code Playgroud)

此列表推导式包含来自 HDF5 文件filenum0.h5- 'key' 数组中网格点 (10, 10) 处的值filenum99.h5

它可以工作,除了它在第 50 个元素附近停止并出现错误:
IOError: unable to open file (File accessibilty: Unable to open file)
即使我知道该文件存在并且如果我没有打开许多其他文件也可以打开它。我想我收到错误是因为打开了太多文件。

有没有办法关闭此列表理解中的文件?或者,有没有更有效的方法来构建我想要的列表?

python list h5py

2
推荐指数
1
解决办法
215
查看次数

是否可以有多个字幕?

如果我有一个带有子图的 matplotlib 图形,是否可以有多个子图suptitle?(有点像常规标题的 loc='center'、loc='left' 和 loc='right' 参数)。

在下面的示例中, 的多个实例suptitle被覆盖,并且图中仅显示最后一个字幕。

import matplotlib.pyplot as plt
fig, (ax1, ax2) = plt.subplots(1,2)

plt.suptitle('center title')
plt.suptitle('right title', x=.8)
plt.suptitle('left title', x=.2)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python matplotlib

2
推荐指数
1
解决办法
2395
查看次数

Python底图:绘制海岸线,但不绘制小特征

我正在使用python底图绘制美国大湖区周围的海岸线。当我增加绘制为“ i”(中间)的地图的分辨率时,它会绘制许多小的水景。有没有办法只绘制海洋和大湖周围的海岸线,而不是绘制所有小的水景?

我有这个... 在此处输入图片说明

但是我想要这个……没有小湖泊,但是想要更高分辨率绘制的海岸线和州。 在此处输入图片说明

python matplotlib-basemap

0
推荐指数
1
解决办法
1075
查看次数