首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在cartopy中使用具有经度偏移投影的contourf

,可以通过以下步骤实现:

  1. 导入所需的库和模块:
代码语言:txt
复制
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
import cartopy.feature as cfeature
import numpy as np
  1. 创建一个具有经度偏移投影的地图:
代码语言:txt
复制
fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree(central_longitude=180))
ax.set_global()
ax.coastlines()
ax.add_feature(cfeature.BORDERS)
  1. 创建数据和经纬度网格:
代码语言:txt
复制
lons = np.linspace(-180, 180, 360)
lats = np.linspace(-90, 90, 180)
lon_grid, lat_grid = np.meshgrid(lons, lats)
data = np.sin(np.deg2rad(lat_grid)) * np.cos(np.deg2rad(lon_grid - 180))
  1. 使用contourf绘制等值线图:
代码语言:txt
复制
contour = ax.contourf(lon_grid, lat_grid, data, transform=ccrs.PlateCarree())
  1. 添加颜色条:
代码语言:txt
复制
cbar = plt.colorbar(contour)
cbar.set_label('Data')
  1. 显示图形:
代码语言:txt
复制
plt.show()

这样就可以在cartopy中使用具有经度偏移投影的contourf绘制地图了。

关于cartopy和contourf的更多信息,可以参考腾讯云的相关产品和文档:

  • 腾讯云产品:地理空间计算服务(https://cloud.tencent.com/product/gis)
  • 腾讯云产品:云服务器(https://cloud.tencent.com/product/cvm)
  • 腾讯云产品:云数据库 MySQL 版(https://cloud.tencent.com/product/cdb_mysql)
  • 腾讯云产品:云原生应用引擎(https://cloud.tencent.com/product/tke)
  • 腾讯云产品:云存储(https://cloud.tencent.com/product/cos)
  • 腾讯云产品:区块链服务(https://cloud.tencent.com/product/bcs)
  • 腾讯云产品:人工智能(https://cloud.tencent.com/product/ai)
  • 腾讯云产品:物联网(https://cloud.tencent.com/product/iot)
  • 腾讯云产品:移动开发(https://cloud.tencent.com/product/mc)
  • 腾讯云产品:音视频处理(https://cloud.tencent.com/product/vod)
  • 腾讯云产品:网络安全(https://cloud.tencent.com/product/saf)
  • 腾讯云产品:网络通信(https://cloud.tencent.com/product/cdn)
  • 腾讯云产品:服务器运维(https://cloud.tencent.com/product/cbs)
  • 腾讯云产品:软件测试(https://cloud.tencent.com/product/qcloudtest)
  • 腾讯云产品:前端开发(https://cloud.tencent.com/product/web)
  • 腾讯云产品:后端开发(https://cloud.tencent.com/product/scf)
  • 腾讯云产品:数据库(https://cloud.tencent.com/product/cdb)
  • 腾讯云产品:存储(https://cloud.tencent.com/product/cos)
  • 腾讯云产品:元宇宙(https://cloud.tencent.com/product/vr)
  • 腾讯云产品:云计算(https://cloud.tencent.com/product/cc)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python可视化 | 三维地图可视化实例

本节提要:关于如何利用matplotlib+cartopy绘制酷炫三维地图。 ---- ---- 这是我比较久远之前看到问题。...add_geometry这个功能是cartopygeoaxes才能使用,同理add_feature也不能再3d图中使用。 但是这个功能确实又是比较常用,而且酷炫。...所以我s站上查到了cartopy库包开发人员直接给出回答。我们不直接开讲怎么绘制,而先回忆不久之前推文中,我们使用过一个功能。...接下来,我们简单介绍一下如何在3d图中使contourf函数绘制平面图。...由于3d图投影结构完全与当前我们世界相符合,都是三维空间,所以3d图中contourf与真实世界等值线相同都是立体,这与我们平时见到二维等值线图不一致。

4K21

Python气象绘图教程—(十九)剖面图

提要中提到这几种图形都是气象上比较常用,地形剖面主要研究地貌对降雨、气流影响作用;纬度高度剖面图可以用来分析降雨某些条件,如湿层深厚、上干下湿、风向风速等;时间纬度图研究某个固定经度值随时间演变...可以看出,z仅仅与y,x有关,且第一相关量为y而不是x,这与我们习惯不同,取值时需注意。 因为是二维数据,那么按照绘制平面填色图ax.contourf命令是可以直接读取数据绘图。...绘制地形填色时,我们使用是ax.contourf命令,他要求输入横坐标,纵坐标,与横纵坐标有关系z值。...显然是不需要,我们只想知道沿某个经度(或纬度)地形变化如何,ax.plot命令结合fill_between命令即可。而这两个命令,只需要传入一个一维横坐标,和一维纵坐标即可。...,我们现在要绘制一个某个经度垂直剖面图,说明我们横坐标应该是纬度,纵坐标应该是高度,但是气象上一般不使用高度,而是气压层,如925hPa、850hPa、700hPa、500hPa、200hPa等,

14K75
  • Python气象绘图教程(十五)—Cartopy_5

    本节提要:仿制中央气象台气象服务图片、关于cartopy投影与转换、cartopy中extent与boundary。...如何提供更丰富标记,只能烦请各位在官网文档上查找了。 二、Cartopy投影与转换 我两个月前经常碰到这个问题,有两个关于投影—crs、transform。...前一个设定投影方式,后一个涉及投影与数据转换。 首先说crs,这个是GeoAxes基础,只有projection设置了投影之后,才能添加地图。...如果主地图投影为默认投影方式(PlateCarree),那么,你在后续绘制中是不需要进行投影转换。 但是,主地图不是默认投影方式时,需要进行转换。...cartopy=0.17中,不能使用draw_labels=True来为除PlateCarree、Mercator之外投影添加经纬标签,不过据说0.18版本中已经优化,读者可以试试。

    11K52

    【详细总结】cnmaps、maskout、salem正确打开方式

    安装方法如下: conda install -c conda-forge cnmaps 唯一一个小小问题,就是使用过程中必须保持shapely=1.8.5,不然部分函数使用时候会出现报错(如下)...也就是说是完全裁剪:先画好图,然后根据shp文件从完整图中扣出自己感兴趣区域。注意,maskout时候无法调整中心经度。...因为裁剪位置整张图片中是固定,但调整中心经度后图片偏移了,而裁剪位置没变,故裁剪结果就不对了。...salem安装略有点麻烦,但功能依然非常强大,需要自己导入shp文件,且支持掩膜选取数据,还可以对地图投影做转换,对WRF后处理也有一定支持。...综上,如果不想麻烦,只需要裁剪自己感兴趣区域,直接上maskout就行,但注意不要使用central_longitude等使图片偏移参数;如果处理省市县级数据,建议使用cnmaps;salem可以作为

    85221

    【附jupyter代码】经验正交分解EOF详解及案例

    2.基本原理 气象科研和业务工作中,我们经常会分析某一气象要素时空数据集,它们大多是3维,包括2维空间场以及1维时间序列。...那对于这样一个时空数据集,我们就可以一个 矩阵 来表示。 其中 行对应着某个空间点在观测期内所有时间点上值, 列对应着某个时间点在观测区域内所有空间点上值。...对于任意一个空间模态 而言,其不同时刻对应权重有所不同,若将其全部观测时间点所对应权重 列在一起,就是我们上面提到时间系数 。...,并指定中心经度为180° # 设置地图范围,经度为(160, 270),纬度为(-10, 10) ax1.set_extent([-20, 90, -10, 10], crs=ccrs.PlateCarree...import cmaps def mapart(ax): ''' 添加地图元素 ''' # 指定投影为经纬度投影,并指定中心经度为180° projection

    1K10

    如何在一张图上同时绘制云图和降水

    通过gamma校正等方法将这种线性关系转换为非线性,使较暗区域变亮,较亮区域保持不变。这样可以增加整个图像对比度,使颜色更加饱和丰富 为什么修改单位km为m 图投影坐标系一般使用是米为单位。...直接拿千米单位影像坐标去绘制地图,会造成非常严重坐标错位。 因此需要提前将影像坐标单位换算为与地图投影匹配米单位,然后再传入投影变换,进行坐标转换到地图上。...是地图绘制过程中一种非常有效和高效方法 2.绘制era5小时降水 import matplotlib.pyplot as plt import cartopy.crs as ccrs import...ax.pcolormesh(lon,lat,prhour,vmin=0,vmax=30,cmap=cmaps.WhiteBlue,transform=ccrs.PlateCarree()) cf = ax.contourf...gl.xlabels_top = False # 关闭顶端标签 gl.ylabels_right = False # 关闭右侧标签 gl.xformatter = LONGITUDE_FORMATTER # x轴设为经度格式

    13010

    气象绘图——白化杂谈

    集合,所以可以set_clip_path来裁剪等值线图: 首先展示普通子图中对等值线进行裁剪,首先需要生成一个边界path,我们将其命名为boundary,然后对集合中每一个collection...: 上述只是通过普通子图白化推广到地图子图白化,所以默认PlateCarree投影。...库包赋nan值 这又是DataCharm大佬讲述一种方法,不过原文中,其使用是basemap,我们更换为cartopy。...这种方法可以保住数据维度为2D结构,所以既可以scatter也可以contourf绘图。不过在网格比较粗情况下会出现裁剪劣化,不该白化地方掉白变多。...,难以恢复到原来维度,如果直接contourf会报出错误 但是我们可以scatter映射方法达到类似的结果。

    1.1K32

    Cartopy 系列教程:安装并绘制地图

    Cartopy具有如下特点: 面向对象投影定义 point,line,vector,polygon 和 image 可在投影间转换 和 matplotlib 绘图包具有很高集成度,从而具有简单易用接口...matplotlib 可用投影 Cartopy 投影列表页可以查看 。...plt.axes(projection=ccrs.PlateCarree()) 设置一个 GeoAxes 类,其具有大量地图相关方法。...之前例子中,我们使用 coastlines 方法添加海岸线到地图中。 下面使用另一种投影创建地图,然后使用 stock_img 方法添加背景图片到地图中。...注意: PlateCarree 投影平面地图上, New York 和 Delhi 之间蓝色线并不是直线,这是因为 Geodetic 坐标系是真正球面坐标系,两点之间线被定义为球坐标,而不是

    10.5K10

    Python空间绘图-Colorbar详解

    ---- 一、色条Colorbar基础 我们绘制有色阶图片时,多会用到colorbar这个关联利器,色条可以直接将数值与颜色连接在一起。...常用scatter、contourf是非常适合使用。第一节我们来简要谈谈常用colorbar参数,以后例子都基于contourf命令。...中ax=ax2,所以绘制出来colorbar将被放置ax2旁边。...接下来就要讲一讲关于cax应用了,这个参数fig.add_axes下特别好用,可以实现非常棒色条插入效果。...而只要更改添加子图位置参数,就可以图上随意移动。这在多子图上添加规范色条时非常方便。 ? 关于指数标签,一般来说,contourf中使用了指数标签命令后,色条会自动变成指数模式。

    20.2K98

    python可视化 | contour、contourfcartopy补充

    包括画指定等值线(如588)、如何在一个子图里绘制多个contourfcartopy刊误。 一、如何画指定等值线 以前也有人问过,不知道怎么给忘了,昨天又有个同学来问,于是就解决了。...这个方法最新matplotlib中是可行。但是不知道较低版本matplotlib与cartopy中是否可行,因为之前曾报错levels列表中至少要有两个元素。...还可以通过多样化手段来扩充适用场景。 二、同一张子图中使用两个contourf,尽量少冲突或无冲突 这个问题出现那就是非常非常久远了,估摸着得有七八个月了。...,但是实际上,可能需要更多判断条件。...在一定程度上解决了很久之前那个问题。 三、cartopy补充 Python气象绘图教程(二十一)—Cartopy_10我提到过兰勃脱投影下不能强制对齐标签说法,这是错误

    5.2K20

    【python】气象绘图—等值线

    、linestyle也同理替换为linewidths、linestyles(所以lw、ls缩写也不能在contour中使用)。...鸽了半个月之后,终于来解决这个问题。我推测这种情况出现原因是extent时,将标签一部分或全部截去了,导致目标区域等值线标签不全。...目前有两种方法解决标签放置问题:第一种,绘图时仅取要绘制部分,就仅取东经90-130,北纬20-50这部分数据,这样标签应该是能够充分显示本区域;第二种,使用clabel命令中manual参数...阴影区绘制主要依靠contourfhatches参数进行设置,在前面我们应该已经大概了解了一些hatches用法。...你也可以列表里放入None来使阴影仅展示某个数值上,比如下图仅有180-240显示了阴影 : cs= ax.contourf(olon,olat,rain_new,levels=np.arange

    2K32

    Python 空间绘图 - 等值线绘制

    、linestyle也同理替换为linewidths、linestyles(所以lw、ls缩写也不能在contour中使用)。...鸽了半个月之后,终于来解决这个问题。我推测这种情况出现原因是extent时,将标签一部分或全部截去了,导致目标区域等值线标签不全。...目前有两种方法解决标签放置问题:第一种,绘图时仅取要绘制部分,就仅取东经90-130,北纬20-50这部分数据,这样标签应该是能够充分显示本区域;第二种,使用clabel命令中manual参数...阴影区绘制主要依靠contourfhatches参数进行设置,在前面我们应该已经大概了解了一些hatches用法。...你也可以列表里放入None来使阴影仅展示某个数值上,比如下图仅有180-240显示了阴影 : cs= ax.contourf(olon,olat,rain_new,levels=np.arange

    5.8K30

    【ProPlot库】ProPlot3兰伯特投影-可添加刻度(三)

    虽然 cartopy Plate Carrée 投影使用方便,但中纬度下使用 Lambert 投影能更好呈现真实地图。...一个正圆锥切于或割于球面,将地球面投影到圆锥面上,然后沿一母线展开成平面。...下图是使用proplot绘制最终效果: proplot 中,可在以下链接找到相关投影名称表,其中兰伯特投影简称 'lcc'。...添加自定义刻度 虽然 cartopy 提供了 gridlines 方法,但经度标签出现在了 y 轴上(80°E),并且和matplotlib matplotlib.axes.Axes.set_xticks...proplot中,目前我只找到了ax.tick_params添加geoaxes tickmarker 例子,format 里给地图设置刻度标签方法可能还未实现。

    1.9K10

    【附代码】时间序列与时间序列相关、时间序列与空间场相关、空间场与空间场相关、显著性检验打点

    气象科研与业务经常使用相关有:时间序列与时间序列相关、时间序列与空间场相关、空间场与空间场相关。其中最常使用就是皮尔逊相关系数。...as ccrs #进行画图cartopy和matplotlib包 import cartopy.feature as cfeature from cartopy.mpl.ticker...import LongitudeFormatter, LatitudeFormatter import matplotlib.pyplot as plt #原始T2和RAIN气象变量是具有时间一维...、空间二维三维变量,为了将其变为仅有时间维度一维时间序列,我们分别对这两个变量 mean() 方法沿着 south_north 和 south_north 两个空间维度求平均,并赋值给新变量 T2...如果存在需要剔除,比如可以均值进行替代或直接去掉。

    1.9K10

    从xarray走向netCDF处理(一):数据结构及数据读取

    安装 xarray安装依旧推荐使用conda,还不会小伙伴移步:一文教你解决Python所有安装配置 conda install xarray 终端里输入如上命令,之后输入y,等待安装结束就好了...中2018年月数据,包含10米径向风、纬向风和2米气温,ECMWF注册过都可以直接下载。...xarray封装了matplotlib部分绘图函数,一行代码就可以将数据画出来,不过作为一个负责公众号,还是cartopy顺带加载了地图。...import numpy as np import xarray as xr import cartopy.crs as ccrs import cartopy.feature as cfeat from...#把温度转换为℃并对其时间纬求平均 temp.attrs['units'] = 'deg C' #温度单位转换为℃ # 创建画图空间 proj = ccrs.PlateCarree() #创建投影

    24.7K1712

    从xarray走向netCDF处理(一):数据结构及数据读取

    安装 xarray安装依旧推荐使用conda,还不会小伙伴移步:一文教你解决Python所有安装配置 conda install xarray 终端里输入如上命令,之后输入y,等待安装结束就好了...中2018年月数据,包含10米径向风、纬向风和2米气温,ECMWF注册过都可以直接下载。...xarray封装了matplotlib部分绘图函数,一行代码就可以将数据画出来,不过作为一个负责公众号,还是cartopy顺带加载了地图。...import numpy as np import xarray as xr import cartopy.crs as ccrs import cartopy.feature as cfeat from...#把温度转换为℃并对其时间纬求平均 temp.attrs['units'] = 'deg C' #温度单位转换为℃ # 创建画图空间 proj = ccrs.PlateCarree() #创建投影

    3.1K112
    领券