Python+Matplotlib+MiKTex设置标签字符串中任意字符格式

2022-03-07 17:29:53 浏览数 (1)

任务描述:

在使用matplotlib可视化时,title()、xlabel()、ylabel()、xticks()、yticks()或类似的函数和方法中的字符串首尾加符号“$”,可以调用matplotlib内嵌的Latex引擎进行渲染,例如:

  • Python matplotlib调用LaTex引擎渲染公式
  • Python matplotlib绘图使用Latex引擎渲染坐标轴刻度文本上标

但这种内嵌的语法与标准Latex语法并不完全一样,支持的格式也不全面。例如标记字符串中部分字符颜色就非常困难。

使用MiKTex搭建Latex环境,然后编写Python程序,使用扩展库Matplotlib进行可视化,结合Latex进行属性设置,使得坐标轴刻度加粗、坐标轴标签文本中部分字符加粗、斜体、设置颜色。

准备工作:

1. 下载MiKTex,地址为:https://miktex.org/download

2. 安装MiKTex,把latex可执行文件所在的文件夹(例如C:Program FilesMiKTeXmiktexbinx64)添加到系统环境变量Path中,如图:

3. 启动MiKTex,切换至管理员模式,然后设置检索源为本地文件夹,如图:

4. 使用浏览器打开http://mirrors.ustc.edu.cn/CTAN/systems/win32/miktex/tm/packages/,下载miktex-zzdb1-2.9.tar.lzma、miktex-zzdb2-2.9.tar.lzma、miktex-zzdb3-2.9.tar.lzma这三个文件,放在检索源对应的本地文件夹中。

5. 从上面的网址下载type1cm、cm-super、geometry、zhmetrics等包到检索源对应的文件夹中,使用第3步的界面进行安装。在后面运行程序时,根据提示信息再按需安装相应的宏包,类似于第3步的界面。

对文章“Python三种方法统计4位自然数变为黑洞数6174所需次数分布”中最后一种方法的代码进行修改,使用Latex渲染文本,使得标题中第一个单词斜体、第三个单词斜体且标红,最后一组数字字号变大且加粗,y轴标签第一个单词加粗,y轴刻度文本斜体且加粗,x轴刻度文本加粗,效果如下图所示:

参考代码,可以使用matplotlib内嵌Latex渲染出上图同样效果并留言分享代码的朋友可以免费领取董老师任意一本Python图书。

0 人点赞