爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2866|回复: 0

[经验总结] 地图投影散点图(颜色代表数值大小)(Python,毕设期间总...

[复制链接]

新浪微博达人勋

发表于 2023-4-26 09:34:56 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
一、地图投影散点图(颜色代表数值大小)cf3 = ax3.scatter(lon_eu1,lat_eu1,s=50
                  , marker = 'o',c = number_eu,cmap='viridis_r'
                  ,transform=ccrs.PlateCarree(),vmin=0,vmax=9,
                   )
plt.text(-48,45,"(c)",fontdict={'size':'20','color':'k'},backgroundcolor = 'w')
# cb1 = fig.colorbar(cf1, orientation='vertical',ticks = np.arange(0, 10, 1),
#                   fraction=0.07, pad = 0.03)

colorbar = fig.add_axes([0.1, 0.05, 0.8, 0.03])
cbar1 = fig.colorbar(cf1,ticks = [0,1,2,3,4,5,6,7,8,9],cax = colorbar,orientation='horizontal',
                      format='%d',extendrect=True, drawedges=False)
cbar1.ax.tick_params(labelsize=12)

这里重点是c = number_eu这个参数,它代表每一个点的大小并投影到cmap色标上,而lon_eu1、lat_eu1两个对于不想画的点在之前一步赋值为0即可,如下所示:


lon_eu1 = lon_eu1.T
for i in range(lon_eu.shape[0]):
    for j in range(lat_eu.shape[0]):
        if n3[i,j] == 0:
            lon_eu1[i,j] = 0
            lat_eu1[i,j] = 0
#这里我是将n3=0的位置赋值为0,就是不把它画在图上



111.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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