PyGMT地图经纬度轴标注及标签字号修改问题求助
解决PyGMT坐标轴标签字号修改问题
要修改PyGMT地图的坐标轴标签字号,需利用GMT的frame语法,在frame参数中通过+f指定字体大小。以下是修改后的完整代码:
import pygmt fig = pygmt.Figure() grid = pygmt.datasets.load_earth_relief(resolution="20m", region=[50,65,10,25]) pygmt.makecpt(series=[-8000,4000]) # 修改frame参数添加字号设置,移除grdcontour的重复frame配置 fig.grdimage( grid=grid, projection="M15c", frame=[ "a", # 自动生成经纬度刻度与标签 "+f12p", # 设置坐标轴标签和刻度的字号为12点 "x+lLongitude", # 自定义x轴标签 "y+lLatitude" # 自定义y轴标签 ], cmap="geo", dpi=300 ) fig.grdcontour(grid=grid, projection="M15c", levels=1000) fig.colorbar( frame=["a1000f100", "x+lDepth/Elevation (m)", "y+lm"], position="g51/6+w13c/0.5c+h" ) fig.show()
关键改动说明:
- 将
frame="a"替换为列表形式的配置,通过+f12p指定字号(可根据需求调整为10p、14p等数值)。 - 移除
grdcontour中的frame="a",地图的坐标轴框架只需在第一个绘图命令(如grdimage)中设置一次即可,重复设置易引发冲突。 - 若需区分坐标轴标签与刻度的字号,可使用更精细的配置:
frame=[ "xaf+f10p", # x轴刻度字号10点 "x+lLongitude+f14p", # x轴标签字号14点 "yaf+f10p", # y轴刻度字号10点 "y+lLatitude+f14p" # y轴标签字号14点 ]
内容的提问来源于stack exchange,提问作者Ranjan Kumar Sahu
相关产品推荐
相关产品推荐

