Python利用matplotlib实现数学公式用图片输出

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、设置字体进阶

要设置字体字号,就得先导入matplotlibfont_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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

George1415926

看着有用,请作者喝杯咖啡啦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值