笔者的同学碰到了如题的问题,与上一篇关于Python的matplotlib有很多共性的地方,这里不再赘述。
在撰写科研图表时,常常希望在图形的坐标轴、图例、标题中同时使用中英文以及数学公式,不仅增强表达的准确性,也提高图表的专业感和美观性。这里同样需要TeX渲染器,使用 \fontname{} 命令搭配 MATLAB 的 tex 解释器,实现中英混排+公式展示的效果。
下面是一个完整示例,绘制了一张正弦函数图像,并在标题、坐标轴、图例中实现了中英文混合以及公式的嵌入:
代码块
t = linspace(-3, 3, 100); % 时间范围
y = sin(t); % 正弦函数
plot(t, y); % 绘图
xlabel('\fontname{宋体}{时间}\fontname{Times New Roman}{(s)}', ...
'FontSize', 10.5);
ylabel('\fontname{宋体}{位置}\fontname{Times New Roman}{(m)} \fontname{Cambria Math}{sin(t) \sigma \beta}', ...
'FontSize', 12, ...
'Interpreter', 'tex');
legend({'\fontname{宋体}{线条}\fontname{Times New Roman}{Line 1}'});
title('\fontname{宋体}{公式}\fontname{Cambria Math}{y=sin(t)}', ...
'FontSize', 12, ...
'Interpreter', 'tex');
复制成功
这是实现混排的关键。MATLAB 支持在字符串中嵌入 标签以指定局部字体(仅当解释器设为 时可用):
默认解释器通常为 ,支持上述的 标签。若使用 ,则无法解析该语法。注意一定要使用为“TeX”,“LaTeX”不支持混排
是 Windows 中优秀的数学字体(Office 自带),可以较好地显示 、 等常用符号,搭配公式使用效果更好。
由于不同系统和 MATLAB 版本安装字体不同,建议先在命令窗口使用 查看可用字体,确保所用字体名称正确。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删