爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6245|回复: 5

[求助] 【已解决】python中basemap改坐标轴刻度的字体大小方法

[复制链接]

新浪微博达人勋

发表于 2022-1-18 17:20:09 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 claire11 于 2022-1-19 10:00 编辑

这个东西改了我一周了。。。。救救孩子,再改不好要被自己气死了!

问题描述:
想修改经纬度的数字大小,但是各种尝试均无果。
图:

代码:
# -*- coding: utf-8 -*- 08120500shr6 and tem.png
"""
Created on Tue Dec 21 15:28:28 2021

@author: 18112
"""
import xarray as xr
import numpy as np
import proplot as plot
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

file700 = "g:/data/hubei/700.nc"
ds1 = xr.open_dataset(file700)
file850 = "g:/data/hubei/850.nc"
ds2 = xr.open_dataset(file850)
file950 = "g:/data/hubei/950.nc"
ds3 = xr.open_dataset(file950)
fileland = "g:/data/hubei/land1.nc"
ds4 = xr.open_dataset(fileland)
file1000 = "g:/data/hubei/1000.nc"
ds5 = xr.open_dataset(file1000)

#省略我自己的变量计算部分
shr6=np.sqrt(delta1)
shr3=np.sqrt(delta2)
shr1=np.sqrt(delta3)
lon=ds1.longitude
lat=ds1.latitude
i=7
time=ds1.time
#创建画布


fig,axs=plot.subplots(proj='cyl',ncols=1,dpi=200)
ax=axs[0]

fig.format(lonlim=(108,117),latlim=(29,37),labels=True,grid= False,lonlocator=2,latlines=1)
plt.title('6km vertical wind shear and temperature \n2021-08-12T05:00',fontdict={'weight':'normal','size': 8}) #改变图标题字体

map = Basemap(llcrnrlon=108, llcrnrlat=29, urcrnrlon=117, urcrnrlat=34)
map.readshapefile(r'g:/China2020/bou2_4l','states',drawbounds = True) #这个是省 bount-line是县界
#设置底图以及变量绘图
m0 = ax.contourf(tem,globe=True,cmap='ice',levels= np.linspace(22,30,9))
q0 = ax.contour(shr6,linewidth=0.3,color='r',levels = np.arange(0.0, 10.0 , 1))

plt.clabel(q0,fontsize=3,fmt='%.1f',colors='r')
ax.colorbar(m0,fraction=0.05,pad=0.05)

#ax.set_xticklabels(lon, labelsize=2)      
#ax.yticklabels(fontsize='8')
plt.ylabel('temperture (℃)', fontdict={'weight': 'normal', 'size': 8})#改变坐标轴标题字体
plt.tick_params(labelsize=8)
plt.savefig('g:/工作文件2021部分/812柳林/图/08120500shr6 and tem.png')



——已解决,原因在于basemap不能直接用我列出来的格式去修改刻度标记字体等,参照了csdn大佬的帖子已经成功修改:https://blog.csdn.net/weixin_44092702/article/details/99690821

不要靠近basemap,会变得不幸.我还是学学cartopy吧。。。



密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2022-1-18 17:30:59 | 显示全部楼层
大佬们看过来!再改不过来要被自己气死了55555555
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-1-18 17:37:06 | 显示全部楼层
ax.set_xticklabels([f.strftime("%m-%d") for f in f_dates], fontsize=8, color="white")
ax.set_yticklabels(rhu["levels"][::-1], fontsize=8, color="white")
可以尝试下这样的方式
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-1-18 17:54:49 | 显示全部楼层
plt.tick_params(axis='both',labelsize=14)
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-1-19 10:01:09 | 显示全部楼层
betasy 发表于 2022-1-18 17:37
ax.set_xticklabels([f.strftime("%m-%d") for f in f_dates], fontsize=8, color="white")
ax.set_ytickl ...

感恩回复,后面发现是basemap的锅。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-8-29 22:19:46 | 显示全部楼层
气象小白01 发表于 2022-1-18 17:54
plt.tick_params(axis='both',labelsize=14)

不错,好用
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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