爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: fey

[求助] python cartopy画图

[复制链接]

新浪微博达人勋

 楼主| 发表于 2019-8-20 21:40:38 | 显示全部楼层
本帖最后由 fey 于 2019-8-20 21:54 编辑
忽如一夜春风来 发表于 2019-8-20 19:50
我用cartopy的程序,画图部分修改成你需要的大概是:
import cartopy.crs as ccrs
import cartopy.feat ...

我是设置中心经度-120,才可以达到我的效果map = plt.axes(projection=ccrs.PlateCarree(central_longitude=-120))
sst.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-8-20 21:44:41 | 显示全部楼层
本帖最后由 fey 于 2019-8-20 21:55 编辑
忽如一夜春风来 发表于 2019-8-20 19:50
我用cartopy的程序,画图部分修改成你需要的大概是:
import cartopy.crs as ccrs
import cartopy.feat ...

这是设置中心经度为180 的结果图

map = plt.axes(projection=ccrs.PlateCarree(central_longitude=180))
sst.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-21 09:53:25 | 显示全部楼层
本帖最后由 忽如一夜春风来 于 2019-8-21 09:57 编辑
fey 发表于 2019-8-20 21:44
这是设置中心经度为180 的结果图

map = plt.axes(projection=ccrs.PlateCarree(central_longitude=180 ...

因为之前追问说是120E~30W所以我用了上面那个。如果你想在180的时候画出对应的图,可以试一下精度范围填写120~359,可以达到目的,不显示0那个点。
我理解是,只是猜测啊。设置中心经度的时候,左右两边任意一边经度范围不能与中心经度差超过180°,比如填-120的时候,给出范围[-150,59]可以正常出图,范围[-150,61]出图就会出现和之前一样的情况。测试了一下160的时候,[120,339]正常出图,[120,240]出图异常。但是在-120的时候[-150,60]出图正常[-150,61]出图异常,具体原因还不太清楚。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-8-21 10:36:56 | 显示全部楼层
忽如一夜春风来 发表于 2019-8-21 09:53
因为之前追问说是120E~30W所以我用了上面那个。如果你想在180的时候画出对应的图,可以试一下精度范围填 ...

嗯嗯呢,谢谢你哈!!!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-8-22 06:55:30 | 显示全部楼层
在设置下xlim就行了 因为你之前extend限制了一次 设置tick时候又扩展了 需要再限制一次
ax.set_xlim(0, 180)
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-8-22 14:04:57 | 显示全部楼层
小虾米吃大米 发表于 2019-8-22 06:55
在设置下xlim就行了 因为你之前extend限制了一次 设置tick时候又扩展了 需要再限制一次
ax.set_xlim(0, 18 ...

嗯好的谢谢!,我去试试,学习了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-9-2 15:22:13 | 显示全部楼层
fey 发表于 2019-8-20 21:40
我是设置中心经度-120,才可以达到我的效果map = plt.axes(projection=ccrs.PlateCarree(central_longitu ...

楼主图画的好好看啊,我最近也在学习python,自学很慢,楼主可以分享下这个脚本吗,想学习一下,谢谢您了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-9-2 16:13:37 | 显示全部楼层
忽如一夜春风来 发表于 2019-8-20 19:50
我用cartopy的程序,画图部分修改成你需要的大概是:
import cartopy.crs as ccrs
import cartopy.feat ...

你好,请问为什么我写了map.set_xticks(np.arange(120,331,30),crs=ccrs.PlateCarree())  
map.set_yticks(np.arange(-20,81,20),crs=ccrs.PlateCarree())这两句,但是我的图坐标只有数字没有经纬度单位?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-9-2 16:22:53 | 显示全部楼层
忽如一夜春风来 发表于 2019-8-20 19:50
我用cartopy的程序,画图部分修改成你需要的大概是:
import cartopy.crs as ccrs
import cartopy.feat ...

您好,请问绘制这张地图的脚本可否分享下,学习一下呢,谢谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-9-2 20:27:52 | 显示全部楼层
subtropical 发表于 2019-9-2 16:13
你好,请问为什么我写了map.set_xticks(np.arange(120,331,30),crs=ccrs.PlateCarree())  
map.set_yti ...

from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter

……


lon_formatter = LongitudeFormatter(zero_direction_label='FALSE')
lat_formatter = LatitudeFormatter()
map.xaxis.set_major_formatter(lon_formatter)
map.yaxis.set_major_formatter(lat_formatter)

加这个
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表