【发布时间】:2021-04-02 21:07:43
【问题描述】:
我正在尝试使用 cartopy 绘制经纬度对数据中的 PM 数据。我使用两种不同的投影进行了尝试。 (PM25['lat'] 有 lat 值,PM25['lon'] 有 lon 值,val 是 PM25 浓度的网格):
- Plate Carre 和 2. Albera 等面积圆锥投影。我在这里附上代码和数字。我的问题是
a) 为什么 Albera 等面积圆锥投影中的颜色看起来更平滑?
b) 如何在圆锥区域投影中添加状态边界?
Albera 投影代码
extent = [-125,-65,25,50]
fig = plt.figure(figsize=(8,4))
ax.set_extent(extent)
ax.coastlines(resolution="110m",linewidth=1)
ax.gridlines(linestyle='--',color='black')
ax.add_feature(cfeature.BORDERS.with_scale('50m'), alpha=1)
ax.add_feature(cfeature.STATES)
projection = ccrs.AlbersEqualArea(central_longitude=-100)
ax.add_feature(COUNTIES, facecolor='none', edgecolor='gray', alpha =0.5)
projection = ccrs.AlbersEqualArea(central_longitude=-100)
fig.add_axes([-.05, -.05, 1.2, 1.2], projection=projection)
ax.add_feature(cfeature.STATES)[enter image description here][1]
clevs = np.arange(0,40)
plt.contourf(PM25['lon'], PM25['lat'], val,clevs, transform=ccrs.PlateCarree(),cmap='viridis',vmin=0,
vmax =16)
Albera Equal Area Conic Projection
板卡雷投影代码
from matplotlib import colorbar, colors
extent = [-125,-65,25,50]
fig = plt.figure(figsize=(8,4))
ax = plt.axes(projection=ccrs.PlateCarree())
ax.set_extent(extent)
ax.coastlines(resolution="110m",linewidth=1)
ax.gridlines(linestyle='--',color='black')
ax.add_feature(cfeature.BORDERS.with_scale('50m'), alpha=1)
ax.add_feature(cfeature.STATES)
#ax.add_feature(COUNTIES, facecolor='none', edgecolor='gray', alpha =0.5)
clevs = np.arange(0,40)
plt.contourf(PM25['lon'], PM25['lat'], val,clevs, transform=ccrs.PlateCarree(),cmap='viridis',vmin=0,
vmax =16)
【问题讨论】: