Stata 绘图:图形中的中文和英文能否设定为不同的字体
2024-01-15
连玉君
4946

连享会   主页 || 推文 || 知乎 || B 站 || 在线课堂

New! 搜推文,找资料,用 lianxh 命令:
安装: ssc install lianxh, replace
使用: lianxh 合成控制
       lianxh DID + 多期, w


作者: 连玉君 (中山大学)
邮箱: arlionn@163.com

1. 问题背景

连老师好!请教您一个问题,用 Stata 画图时候,图片里的数字和汉字,能否实现如下效果:
数字是 'Times New Roman' 字体,而汉字则是 '宋体'?我之前发现似乎只能将图片所有字体设置为一种,不知道如何分开设置。

比如纵坐标标题是 "经济发展水平GDP",如何同时把 "经济发展水平" 设置为 '宋体'、GDP 设置为 'Times New Roman' 字体?

问题解决了,这么写代码:

ytitle(`"{fontface "宋体":经济发展水平}{fontface "times":GDP}"')

2. 一个例子

sysuse "auto.dta", clear

twoway scatter price wei , ///
       ytitle(`"{fontface "宋体":汽车价格}{fontface "times": (Price)}"') ///
       xtitle(`"{fontface "黑体":重量 (磅)}{fontface "times": (Weight)}"')

graph export "Stata_Fig_diff_FontFace_01.png", width(700) replace

输出效果:

Stata_Fig_diff_FontFace_01

3. 改进:统一设置,减少出错概率

有些时候,需要绘制多个图形,或者需要将绘图代码应用在不同场景下,并能快速调整所需字体。此时,可以使用暂元来统一设定字体。
在下面的例子中,我们定义了两个存放中文字体设定的暂元 zh1zh2,以便针对不同的情形进行区别设定。

local zh1 `"fontface "宋体":"'     // 中文字体 1
local zh2 `"fontface "黑体":"'     // 中文字体 2
local en1 `"fontface "times": "'   // 英文和数字字体 
local en2 `"fontface "courier new": "'   // 英文和数字字体 

sysuse "auto.dta", clear
twoway scatter price wei , ///
       ytitle(`"{`zh1' 汽车价格}{ `en1' (Price)}"') ///
       xtitle(`"{`zh2' 重量 (磅)}{`en2' (Weight)}"')
graph export "Stata_Fig_diff_FontFace_02.png", width(700) replace

输出效果:

Stata_Fig_diff_FontFace_02

4. 字体设定问题

需要说明的是,字体的名称取决于你的系统中安装了哪些字体。你可以采用如下方法确定并选择你想要的字体。

20240113121514

5. 扩展阅读

6. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh Stata绘图
安装最新版 lianxh 命令:
ssc install lianxh, replace

资源共享


尊敬的老师 / 亲爱的同学们:
连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。
请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。
我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。more……
  • 扫码加入连享会微信群,提问交流更方便