GMT 入门
GMT 实例
GMT 进阶
- 基础知识
- 表数据
- 网格文件
- 颜色表 CPT
- 标准选项
- 地图投影
- -JX: Linear, logarithmic, power, and time
- -JP: Polar/Cylindrical
- -JA: Lambert azimuthal equal area
- -JB: Albers conic equal area
- -JC: Cassini cylindrical
- -JCyl_stere: Cylindrical stereographic
- -JD: Equidistant conic
- -JE: Azimuthal equidistant
- -JF: Azimuthal gnomonic
- -JG: Azimuthal orthographic/General perspective
- -JH: Hammer equal area
- -JI: Sinusoidal equal area
- -JJ: Miller cylindrical
- -JK: Eckert equal area
- -JL: Lambert conic conformal
- -JM: Mercator cylindrical
- -JN: Robinson
- -JO: Oblique Mercator
- -JPoly: (American) polyconic
- -JQ: Equidistant cylindrical
- -JR: Winkel Tripel
- -JS: General stereographic
- -JT: Transverse Mercator
- -JU: Universal Transverse Mercator (UTM)
- -JV: Van der Grinten
- -JW: Mollweide
- -JY: Cylindrical equal area
- 配置参数
- 地学数据集
- 中国地理空间数据集
- 中文支持
- API
- 模块手册
- basemap
- begin
- clear
- clip
- coast
- colorbar
- contour
- coupe
- end
- figure
- filter1d
- fitcircle
- gmt
- gmt-config
- gmtbinstats
- gmtconnect
- gmtdefaults
- gmtget
- gmtinfo
- gmtlogo
- gmtmath
- gmtselect
- gmtset
- gmtsimplify
- gmtspatial
- gmtsplit
- gmtvector
- gmtwhich
- grd2cpt
- grd2xyz
- grdblend
- grdclip
- grdcontour
- grdconvert
- grdcut
- grdedit
- grdfill
- grdimage
- grdinfo
- grdlandmask
- grdmask
- grdmath
- grdpaste
- grdproject
- grdsample
- grdtrack
- grdtrend
- grdvector
- grdview
- grdvolume
- gshhg
- histogram
- image
- img2google
- img2grd
- kml2gmt
- makecpt
- mapproject
- mask
- meca
- nearneighbor
- plot
- polar
- project
- psconvert
- rose
- sac
- sample1d
- solar
- spectrum1d
- sph2grd
- sphdistance
- sphinterpolate
- sphtriangulate
- surface
- ternary
- text
- triangiulate
- velo
- wiggle
- x2sys_binlist
- x2sys_cross
- x2sys_datalist
- x2sys_get
- x2sys_init
- x2sys_list
- x2sys_merge
- x2sys_put
- x2sys_report
- x2sys_solve
- xyz2grd
- mgd77manage
- mgd77convert
- mgd77header
- mgd77info
- mgd77list
- mgd77magref
- mgd77path
- mgd77sniffer
- mgd77track
- legend
- docs
- subplot
- inset
附录
其他
macOS 下的 GMT 中文支持
本文介绍如何让 GMT 在 macOS 下支持中文。
ghostscript的中文支持
首先需要使 ghostscript 支持中文,这可以通过 cjk-gs-support 项目提供的脚本 cjk-gs-integrate.pl 实现。
下载脚本 cjk-gs-integrate.pl 以及数据库文件 cjkgs-macos-highsierra.dat (macOS 10.13 以上均使用该文件)。
cjk-gs-integrate.pl
脚本的执行依赖于命令kpsewhich
,该命令由 TeXLive 提供。执行kpsewhich --version
检查kpsewhich
这个命令是否存在。若不存在,则需要单独安装。使用homebrew安装 basictex 或 mactex-no-gui:# 以下二选一即可,第一个更小,第二个更完整 brew cask install basictex brew cask install mactex-no-gui
安装完成后关闭当前终端,打开一个新终端使其生效。
将脚本和数据库文件放在同一个目录下,执行:
$ perl cjk-gs-integrate.pl --fontdef-add=cjkgs-macos-highsierra.dat
该脚本会自动搜索系统中自带的中文字体,并生成gs支持中文所需的配置文件。请注意脚本执行时的log中的输出位置,类似:
cjk-gs-integrate: output is going to /usr/local/share/ghostscript/9.55.0/Resource
后续创建gmt的字体配置文件会用到。
GMT的中文支持
在 ~/.gmt
(若无该文件夹,请自行新建)下创建字体配置文件:
$ touch ~/.gmt/PSL_custom_fonts.txt $ open ~/.gmt/PSL_custom_fonts.txt
打开 GMT 字体配置文件,在文件中加入如下语句并保存:
STSong-Light-UniGB-UTF8-H 0.700 1 STFangsong-Light-UniGB-UTF8-H 0.700 1 STHeiti-Regular-UniGB-UTF8-H 0.700 1 STKaiti-Regular-UniGB-UTF8-H 0.700 1 STSong-Light-UniGB-UTF8-V 0.700 1 STFangsong-Light-UniGB-UTF8-V 0.700 1 STHeiti-Regular-UniGB-UTF8-V 0.700 1 STKaiti-Regular-UniGB-UTF8-V 0.700 1
这几句话分别添加了宋体、仿宋、黑体和楷体四种字体的横排和竖排两种方式。第一列是上文 ghostscript 中文支持中脚本 cjk-gs-integrate.pl
的输出位置下 /font/
子文件夹下的文件名。建议检查一下 font
目录下新增文件的文件名中是否存在对应这里的文件。
用 gmt text -L
命令查看 GMT 当前的字体配置:
$ gmt text -L Font # Font Name ------------------------------------ 0 Helvetica 1 Helvetica-Bold ... ...... 39 STSong-Light-UniGB-UTF8-H 40 STFangsong-Light-UniGB-UTF8-H 41 STHeiti-Regular-UniGB-UTF8-H 42 STKaiti-Regular-UniGB-UTF8-H 43 STSong-Light-UniGB-UTF8-V 44 STFangsong-Light-UniGB-UTF8-V 45 STHeiti-Regular-UniGB-UTF8-V 46 STKaiti-Regular-UniGB-UTF8-V
其中 39-46 号字体为新添加的中文字体。以后要用中文字体时,需要用这些编号来指定字体,也许你的机器上的编号和这里不同。
GMT 中文测试
备注
请自行确认你的中文字体编号。如果编号不是39到46,请自行修改以下测试脚本。
#!/usr/bin/env bash gmt begin GMT_Chinese gmt set FONT_TITLE 25p,41,black gmt set FONT_LABEL 15p,39,black gmt text -R0/8/0/4 -JX12c/4c -Bxaf+l"X轴" -Byaf+l"Y轴" -BWSen+t"中文标题" -F+f << EOF 2 3.5 25p,39,black 中文宋体 2 2.5 25p,40,blue 中文仿宋 2 1.5 25p,41,red 中文黑体 2 0.5 25p,42,green 中文楷体 4 3.5 25p,43,black 中文宋体 5 3.5 25p,44,blue 中文仿宋 6 3.5 25p,45,red 中文黑体 7 3.5 25p,46,green 中文楷体 EOF gmt end show
成图效果如下:
备注
生成的 PNG、JPG格式的图片中可直接显示中文,而生成的 PDF 文件用 macOS 自带的 PDF 预览工具打开无法显示中文,使用 Adobe Reader 打开则可以正常显示中文。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论