0、 背景
最近在开发自动计算以后自动出具报告的模块,因为是技术报告,难免少不了需要在报告中添加数学公式的情况,所以就研究了一下怎么把数学公式生成图片,然后插入报告中。
本文主要说明如何根据LaTeX格式的公式,利用Python生成图片。本文主要参考这里,感兴趣可以直接点击。
经过最初作者天元浪子的提醒,这篇文章的原创是来自于他的一篇文章。我没有看引用文章的具体信息,本来这个账号也只是为了记录有用的知识点,所以没有标明他的信息。现在标注上,感谢天元浪子的提醒。——20250207
人人都可以简单入门Python、爬虫、数据分析 简说Python推荐
来源:Python作业辅导作者:天元浪子
1、方法初探
matplotlib有个mathtext子模块,提供了math_to_image函数可以直接将LaTex数学公式生成图片。下面的代码,将质能方程转成了图片。请注意,LaTex数学公式与markdown中的数学公式编辑类似,一定要包含在两个$符号之间。
from matplotlib import mathtext
mathtext.math_to_image(r'$E=mc^2$', r'd:\demo_1.png')
生成的图片宽度55个像素,高度15个像素,分辨率为100dpi。
虽然指定了png格式,也确实存在透明通道,其背景却是不透明的。除了png格式外,math_to_image函数还支持eps, pdf, pgf, png, ps, raw, rgba, svg, svgz等格式,但不支持jpg格式。
2、设置字体进阶
要设置字体字号,就得先导入matplotlib的font_manager字体管理模块。该模块的FontProperties类可以实例化一个字体对象传给math_to_image函数,用来设置family(字体)、size(字号)和weight(笔画轻重)等。
math_to_image函数的dpi参数用于设置分辨率(每英寸像素数)。如果应用于网页的话,建议分辨率设置为72dpi就可以了,如果用于印刷,请将dpi设置为300。
import matplotlib.font_manager as mfm
prop = mfm.FontProperties(family='sans-serif', size=64, weight='normal')
mathtext.math_to_image(r'$E=mc^2$', r'd:\demo_2.png', prop=prop, dpi=72


1377

被折叠的 条评论
为什么被折叠?



