返回介绍

GMT 入门

GMT 实例

GMT 进阶

附录

其他

GMT中文效果演示

发布于 2023-08-10 21:46:57 字数 3394 浏览 0 评论 0 收藏 0

中文文字

本例中展示了如何在绘图时使用中文标签和中文标题,以及如何打印横排和竖排的中文。

  • 左图中Y轴标签与纵轴平行

  • 中图中Y轴标签与X轴平行

  • 右图中Y轴标签单独绘制并使用了竖排中文字体。

gmt begin chinese-texts png
# 左图
gmt set FONT_TITLE 24p,41,black FONT_LABEL 16p,39,black
gmt basemap -R0/10/0/5 -JX6c/4c -Bxaf+l"横轴" -Byaf+l"纵轴" -BWSen+t"中文标题"
gmt text -F+f << EOF
3 2.5 20p,39,black 横排文字
8 4.0 20p,43,red   竖排文字
EOF

# 中图
gmt set FONT_TITLE 24p,41,black FONT_LABEL 16p,39,black
gmt basemap -R0/10/0/5 -JX6c/4c -Bxaf+l"横轴" -Byaf+L"纵轴" -BWSen+t"中文标题" -X9c
gmt text -F+f << EOF
3 2.5 20p,39,black 横排文字
8 4.0 20p,43,red   竖排文字
EOF

# 右图
gmt set FONT_TITLE 24p,41,black FONT_LABEL 16p,39,black
gmt basemap -R0/10/0/5 -JX6c/4c -Bxaf+l"横轴" -BWSen+t"中文标题" -X9c
gmt basemap -Byaf+L"纵轴" -BW --FONT_LABEL=16p,43,black --MAP_LABEL_OFFSET=20p
gmt text -F+f << EOF
3 2.5 20p,39,black 横排文字
8 4.0 20p,43,red   竖排文字
EOF

gmt end show
http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/575-dwefywydt14.png

中文月份

GMT 可以绘制中文的月份。

Linux 和 macOS 用户需要先修改 GMT 中文语言文件的字符编码(Windows 用户不需要):

# 进入 GMT 语言定义文件所在目录
cd `gmt --show-sharedir`/localization

# 备份中文语言文件
cp gmt_cn1.locale gmt_cn1.locale_old
# 将中文编码方式从默认的 GB2312 修改为 UTF8 编码,这样才能正常显示中文月份
iconv -f GBK -t UTF8 gmt_cn1.locale

设置 GMT_LANGUAGE 为中文(即 cn1),并设置标注字体为中文。

gmt begin chinese-months png
# 设置GMT语言为中文
gmt set GMT_LANGUAGE cn1
# 设置标注的字体为中文字体
gmt set FONT_ANNOT_PRIMARY 16p,39,black

# FORMAT_TIME_PRIMARY_MAP 为 full 表示显示“一月”
gmt set FORMAT_DATE_MAP o FORMAT_TIME_PRIMARY_MAP full
gmt basemap -R1997T/1998T/0/10 -JX25c/4c -Bpxa1O -Byaf -BWSen

# FORMAT_TIME_PRIMARY_MAP 为 abbreviated 表示显示“一”
gmt set FORMAT_DATE_MAP o FORMAT_TIME_PRIMARY_MAP abbreviated
gmt basemap -R1997T/1998T/0/10 -JX25c/4c -Bpxa1O -Byaf -BWSen -Y-6c
gmt end show
http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/577-53t3tdp0wme.png

中文星期

GMT支持中文的星期。要想使用中文表示星期几,需要设置 GMT_LANGUAGE 为中文,即 cn1,并设置标注的字体为中文。

gmt begin chinese-weeks png
# 设置GMT语言为中文
gmt set GMT_LANGUAGE cn1
# 设置标注的字体为中文字体
gmt set FONT_ANNOT_PRIMARY 12p,39

# FORMAT_TIME_PRIMARY_MAP 为 full 表示显示“星期一”
gmt set FORMAT_DATE_MAP u FORMAT_TIME_PRIMARY_MAP full
gmt basemap -R1969-7-21T/1969-7-28T/0/4 -JX15c/3c -Bpxa1K -Byaf -BWSen

# FORMAT_TIME_PRIMARY_MAP 为 abbreviated 表示显示“周一”
gmt set FORMAT_DATE_MAP u FORMAT_TIME_PRIMARY_MAP abbreviated
gmt basemap -R1969-7-21T/1969-7-28T/0/4 -JX15c/3c -Bpxa1K -Byaf -BWSen -Y-5c
gmt end show
http://www.wenjiangs.com/wp-content/uploads/2023/docimg24/578-dybdoupxc32.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文