我是Python的新手,关于Cartopy能够在3D情节中使用的问题.以下是使用的示例matplotlibBasemap.
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.basemap import Basemap
m = Basemap(projection='merc',
llcrnrlat=52.0,urcrnrlat=58.0,
llcrnrlon=19.0,urcrnrlon=40.0,
rsphere=6371200.,resolution='h',area_thresh=10)
fig = plt.figure()
ax = Axes3D(fig)
ax.add_collection3d(m.drawcoastlines(linewidth=0.25))
ax.add_collection3d(m.drawcountries(linewidth=0.35))
ax.add_collection3d(m.drawrivers(color='blue'))
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Height')
fig.show()
Run Code Online (Sandbox Code Playgroud)
这将在3D轴内创建一个贴图,以便您可以在曲面上绘制对象.但随着Cartopy回归matplotlib.axes.GeoAxesSubplot.不清楚如何拍摄并添加到上面的3D图形/轴上matplotlib-basemap.
那么,有人可以提供有关如何使用Cartopy进行类似3D绘图的任何指示吗?
有没有一种程序化的方法来找出哪些熊猫版本与特定的python和numpy配置兼容?
我的兴趣是让大熊猫进入ESRI ArcMAP 10.1,它运行在32位Windows上,并且基于python 2.7,numpy 1.6构建.
我尝试通过打开32位Anaconda命令提示符并键入来为与ESRI ArcMap 10.1兼容的Python创建conda环境
conda create -n arcmap101 python=2.7 numpy=1.6 pandas
Run Code Online (Sandbox Code Playgroud)
然后我回到了包含的Python环境 pandas=0.10.1
然而,这似乎应该是可能的建立更高的版本python=2.7,numpy=1.6但我只是不知道高出多少.
我试图寻找在大熊猫的历史在GitHub上的setup.py,有一个min_numpy_ver=1.6正确的向上穿过pandas=0.14虽然最近要求改为min_numpy_ver=1.7,所以我不知道这是否是一个新的要求,或者应该已经加入了bug修复在较早的版本级别.
我看到在PyPI上,pandas=0.11在Windows上构建了反对numpy=1.6,而对于pandas=0.12它,它是针对它构建的numpy=1.7.
但我不知道PyPI构建是一个要求还是一个选择.
有没有什么好方法可以找到这些东西,而不只是问熊猫开发人员?
使用pyviz中的功能,可以很容易地为栅格化的xarray数据集生成一个hvplot/ panel交互式仪表板,例如下面的气温数据示例:
import xarray as xr
import hvplot.xarray
import panel as pn
airtemps = xr.tutorial.load_dataset('air_temperature')
atemp = airtemps.air[:10,:,:]
mesh = atemp.hvplot(groupby='time')
row = pn.Row(mesh)
display(row)
Run Code Online (Sandbox Code Playgroud)
它会自动为时间维度创建一个滑块:
如果我看一下创建的对象:
print(row)
Run Code Online (Sandbox Code Playgroud)
我可以看到DiscreteSlider创建了一个小部件:
Row
[0] Row
[0] HoloViews(DynamicMap)
[1] WidgetBox
[0] DiscreteSlider(name='Time', options=OrderedDict([('2013-01-01 ...]), value=numpy.datetime64('2013-01-...)
Run Code Online (Sandbox Code Playgroud)
DiscreteSlider用下拉菜单Select小部件替换小部件的最佳方法是什么?
我有40个NetCDF文件,它们都是海洋模型的一个模拟.每个变量的时间序列数据被拆分为多个文件,因此目录列表如下所示:
$ ls ./output/*.nc
1_hvel.nc 3_hvel.nc 5_hvel.nc 7_hvel.nc
1_MeanPeriod.nc 3_MeanPeriod.nc 5_MeanPeriod.nc 7_MeanPeriod.nc
1_PeakPeriod.nc 3_PeakPeriod.nc 5_PeakPeriod.nc 7_PeakPeriod.nc
1_pwd.nc 3_pwd.nc 5_pwd.nc 7_pwd.nc
1_SigWaveHeight.nc 3_SigWaveHeight.nc 5_SigWaveHeight.nc 7_SigWaveHeight.nc
1_WaterLevel.nc 3_WaterLevel.nc 5_WaterLevel.nc 7_WaterLevel.nc
2_hvel.nc 4_hvel.nc 6_hvel.nc 8_hvel.nc
2_MeanPeriod.nc 4_MeanPeriod.nc 6_MeanPeriod.nc 8_MeanPeriod.nc
2_PeakPeriod.nc 4_PeakPeriod.nc 6_PeakPeriod.nc 8_PeakPeriod.nc
2_pwd.nc 4_pwd.nc 6_pwd.nc 8_pwd.nc
2_SigWaveHeight.nc 4_SigWaveHeight.nc 6_SigWaveHeight.nc 8_SigWaveHeight.nc
2_WaterLevel.nc 4_WaterLevel.nc 6_WaterLevel.nc 8_WaterLevel.nc
Run Code Online (Sandbox Code Playgroud)
是否可以沿时间维度聚合每个变量,然后将所有这些聚合连接在一起?
我有一个栅格时间序列存储在多个GeoTIFF文件(*.tif)中,我想将其转换为单个NetCDF文件。数据是uint16。
我可能会使用以下gdal_translate命令将每个图像转换为netcdf:
gdal_translate -of netcdf -co FORMAT=NC4 20150520_0164.tif foo.nc
Run Code Online (Sandbox Code Playgroud)
然后使用一些脚本NCO从文件名中提取日期然后进行连接,但是我想知道是否可以在Python中使用xarray它更有效地进行此操作,并且它是新的rasterio后端。
我可以轻松读取文件:
import glob
import xarray as xr
f = glob.glob('*.tif')
da = xr.open_rasterio(f[0])
da
Run Code Online (Sandbox Code Playgroud)
哪个返回
<xarray.DataArray (band: 1, y: 5490, x: 5490)>
[30140100 values with dtype=uint16]
Coordinates:
* band (band) int64 1
* y (y) float64 5e+05 5e+05 5e+05 5e+05 5e+05 4.999e+05 4.999e+05 ...
* x (x) float64 8e+05 8e+05 8e+05 8e+05 8.001e+05 8.001e+05 …Run Code Online (Sandbox Code Playgroud) 我有一个netcdf文件,我想使用命令行工具转换为图像(joed,png,gif).
是否有人可以帮助我使用库名称,并可能链接到它是如何完成的.
关心大卫