我想要一个包含两个子图的图,一个较大的带有地图,第二个较小的带有散点图。我正在使用 cartopy 来绘制地图。我使用 gridspec_kw 确定高度的分数。然而,由于投影的限制,它也会影响宽度。
。
这就是我得到的。
import matplotlib.pyplot as plt
import cartopy as ccrs
fig, ax = plt.subplots(2,1,subplot_kw=dict(projection=ccrs.crs.PlateCarree()),gridspec_kw={'height_ratios': [4, 1]})
Run Code Online (Sandbox Code Playgroud)
一种可能的解决方案是仅对上面板使用 subplot_kw=dict(projection=ccrs.crs.PlateCarree() 。但我无法弄清楚如何做到这一点。有一些方法推荐 add_subplot ,但这是非常手动的我不喜欢这个。可以用 plt.subplots() 来做吗?
这似乎是一个简单的问题,但我很长一段时间以来都在为错误而苦苦挣扎。想象一个数组
a = np.array([2,3,4,5,6])
Run Code Online (Sandbox Code Playgroud)
我想测试数组中的哪些元素属于另一个列表
[2,3,6]
Run Code Online (Sandbox Code Playgroud)
如果我做
a in [2,3,6]
Run Code Online (Sandbox Code Playgroud)
Python 引发“ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()”
作为回报,我想得到一个类似布尔数组的
array([ True, True, False, False, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud) 我想使用 xarray 创建一个数据集,并希望在创建数据集时向变量添加属性。xarray文档提供了一种添加全局属性的方法。例如如下:
ds = xr.Dataset(
data_vars=dict(
'temperature'=(["x", "y", "time"], temperature),
'precipitation'=(["x", "y", "time"], precipitation),
),
coords=dict(
lon=(["x", "y"], lon),
lat=(["x", "y"], lat),
time=time,
reference_time=reference_time,
),
attrs=dict(description="Weather related data."),)
Run Code Online (Sandbox Code Playgroud)
添加变量属性的一种方法是这样的:
ds['temperature'].attrs = {"units": K, '_FillValue': -999}
Run Code Online (Sandbox Code Playgroud)
但是,在我看来,这更像是更新属性。有没有办法在直接使用创建数据集时直接分配属性xr.Dataset?