如何使用 cartopy 中的纬度对在阿尔贝拉等面积投影中绘图?

问题描述

我正在尝试使用 cartopy 在纬度对数据中绘制 PM 数据。我尝试使用两种不同的投影。 (PM25['lat'] 有 lat 值,PM25['lon'] 有 lon 值,val 是 PM25 浓度的网格):

  1. 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

Plate Carre 投影代码

from matplotlib import colorbar,colors
extent = [-125,4))
ax = plt.axes(projection=ccrs.PlateCarree())
ax.set_extent(extent)
ax.coastlines(resolution="110m",alpha=1)
ax.add_feature(cfeature.STATES)
#ax.add_feature(COUNTIES,alpha =0.5)
clevs = np.arange(0,vmax =16)

Plate Carre Projection

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...