文档章节

LaTex数学公式转图片,不依赖在线服务,真正Python实现

o
 osc_qjkncsnp
发布于 07/01 16:22
字数 385
阅读 65
收藏 0

精选30+云产品,助力企业轻松上云!>>>

下午安装了一个pylatex模块,打算将LaTex语法描述的数学公式转为图片。磕磕绊绊读了半天文档,发现pylatex属于重型武器,写起来不够简洁。网上搜了一下,CSDN上现成的Python代码,只是不免费,要11个C币。摸摸兜里,还有些散碎银子,就顺手买了一个。下载之后,一读源码,居然只是封装了一个http请求,图片是在线生成的!这简直就是抢劫啊,太没有职业道德了!

花了一分钟,调整一下情绪,琢磨着还是自己动手写一个吧。很快,10行代码,LaTex数学公式转图片就完成了。尽管稍显简陋,用起来还蛮爽。如果需要颜色、透明度啥的,请自己添加吧。

# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt

def formula2img(str_latex, out_file, img_size=(5,3), font_size=16):
    fig = plt.figure(figsize=img_size)
    ax = fig.add_axes([0, 0, 1, 1])
    ax.get_xaxis().set_visible(False)
    ax.get_yaxis().set_visible(False)
    ax.set_xticks([])
    ax.set_yticks([])
    plt.text(0.5, 0.5, str_latex, fontsize=font_size, verticalalignment='center', horizontalalignment='center')
    plt.savefig(out_file)
    #plt.show()
    #print('OK')
    
if __name__ == '__main__':
    str_latex = r'$10^x$'
    formula2img(str_latex, r'd:\f1.png', img_size=(3,2), font_size=64)
    
    str_latex = r'$s=\frac{1-z^{-1}}{T}$'
    formula2img(str_latex, r'd:\f2.png', img_size=(5,3), font_size=64)
    
    str_latex = r'$H(z)=\frac{Y(z)}{X(z)}=\frac{1}{RC{\frac{1-z^{-1}}{T}+1}}=\frac{T}{RC(1-Z^{-1})+T}$'
    formula2img(str_latex, r'd:\f3.png', img_size=(18,3), font_size=64)
    
    str_latex = r'$Y(n)=(\frac{1}{1+\frac{RC}{T}})X(n)+(\frac{\frac{RC}{T}}{1+\frac{RC}{T}})X(n-1)$'
    formula2img(str_latex, r'd:\f4.png', img_size=(18,3), font_size=64)

来看看输出的效果:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

o
粉丝 0
博文 46
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

SequoiaDB监控与开发实践分析

使用背景 公司近期上线了一个新应用,底层数据库采用了国产的分布式数据库 – SequoiaDB。 因为需要将 SequoiaDB 集群纳入到公司的整个监控体系中,所以需要对 SequoiaDB 的状态、性能指标等...

巨杉数据库
9分钟前
0
0
如何导入其他Python文件? - How to import other Python files?

问题: How do I import other files in Python? 如何在Python中导入其他文件? How exactly can I import a specific python file like import file.py ? 我究竟该如何导入特定的python文件......

fyin1314
17分钟前
14
0
小程序上传图片 返回的地址出现回车空格问题

不知怎么回事 ,今天写小程序上传图片 之前是没问题的,今天突然出现很多回车空格问题 那怎么办呢,处理呗 //去掉空格str = str.replace(/\ +/g,""); console.log(str);//"{'retmsg':'suc......

子枫Eric
27分钟前
6
0
Spring Boot + Spring Security自定义用户认证

自定义认证过程 自定义认证的过程需要实现Spring Security提供的UserDetailService接口 ,源码如下: public interface UserDetailsService { UserDetails loadUserByUsername(String use...

心田已荒
51分钟前
12
0
DateTime2与SQL Server中的DateTime - DateTime2 vs DateTime in SQL Server

问题: Which one: 哪一个: datetime datetime2 is the recommended way to store date and time in SQL Server 2008+? 是在SQL Server 2008+中存储日期和时间的推荐方法吗? I'm aware of......

富含淀粉
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部