问题描述
我知道使用matplotlib可以像这样放大正投影:
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1,1,projection=ccrs.Orthographic(-40,20)
ax.set_extent([-110,30,-20,65])
我该如何使用hvplot / Geoviews / Holoviews完成此操作?我发现的所有示例都不会放大此特定投影,
实际示例:
import xarray as xr
import hvplot.pandas
import holoviews as hv
import geoviews.feature as gf
import cartopy.crs as ccrs
proj = ccrs.Orthographic(-40,20)
lon_range = (-110,30)
lat_range = (-20,65)
ds = xr.open_mfdataset(liste_files,engine="netcdf4")
pd_times = ds.to_dataframe() # <-- i cannot plot points with xarray directly,don't kNow why
points = pd_times.hvplot.points(x="longitude",y="latitude",c="sat1",projection=proj)
points = hv.Overlay(aff)
layout = (gf.ocean
* points
* gf.land.options(scale="50m")
* gf.coastline.options(scale="50m")
* gf.rivers
* gf.lakes
).opts(
width=500,projection=proj
)
谢谢
解决方法
已建立:您需要在hvplot的参数中添加xlim
和/或ylim
。
points = pd_times.hvplot.points(x="longitude",y="latitude",c="sat1",projection=proj,xlim=lon_range,ylim=lat_range)