网易首页 > 网易号 > 正文 申请入驻

Python+Matplotlib+LaTeX玩转数学公式

0
分享至

本文介绍如何在Matplotlib中使用LaTeX 公式和符号、Python如何生成LaTeX数学公式。
1、Matplotlib中使用LaTeX 公式和符号一些配置
  • 安装两个软件,链接给出。

https://mirrors.cqu.edu.cn/CTAN/systems/windows/protext/protext-3.2-033020.zip https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9531/gs9531w64.exe
  • 添加到环境变量中

以下两句放到环境变量中。C:\Users\xx\AppData\Local\Programs\MiKTeX 2.9\miktex\bin\x64;C:\Program Files\gs\gs9.53.1\bin;

  • matplotlib.rcParams修改

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

plt.style.use('fivethirtyeight')
mpl.rcParams['text.usetex'] = True#默认为false,此处设置为TRUE
Matplotlib中使用Latex字符和公式mpl.rcParams['lines.linewidth'] = 1

fig, ax = plt.subplots(dpi=120)

N = 500
delta = 0.6
X = np.linspace(-1, 1, N)
ax.plot(X, (1 - np.tanh(4 * X / delta)) / 2,
X, (1.4 + np.tanh(4 * X / delta)) / 4, "C2",
X, X < 0, "k--")

ax.set_xlabel(r'No.1: $\alpha > \beta)

#上下标,上标^,下标
ax.set_ylabel(r'No.2: $\alpha_i > \beta^i,rotation=45)

# #累加、累积
ax.legend((r'No.3: $\displaystyle\sum_{i=0}^\infty x_i, r'No.4: $\displaystyle\prod_{i=0}^\infty x_i),
shadow=True, loc=(0.01, 0.52), handlelength=1.5, )

#分数
ax.set_title(r'No.4: $\frac{3}{4})

#二项式
ax.text(0.3,1.1,r'No.5: $\frac{5 - \frac{1}{x}}{4})

#开根号
ax.text(0.8,1.1,r'No.6: $\sqrt[3]{x})

#修改字体
## Roman、Italic、Typewriter、CALLIGRAPHY等
ax.text(-0.8,1.1,r'No.7: $\mathit{Italic})
ax.text(-0.8,1.0,r'$\mathsf{fonts})

#声调
ax.text(-1.2,1.1,r'No.8: $\breve a)

#选个范围
ax.text(-1.4,0.8,r'No.9: $\widetilde{xyz})

# the arrow
ax.annotate("", xy=(-delta / 2., 0.1), xytext=(delta / 2., 0.1),
arrowprops=dict(arrowstyle="<->", connectionstyle="arc3"))

# 其它TeX symbols
ax.set_xticks([-1, 0, 1])
ax.set_xticklabels([r"No.10: $\delta$", r"$\pm$", r"$\$"], color="r", size=15)

ax.set_yticks([0, 0.5, 1])
ax.set_yticklabels([r"No.10: $\AA$", r"$\Downarrow$", "$\\odot$"], color="r", size=15)

ax.text(1.02, 0.5, r"$\phi$",fontsize=20, rotation=90,
horizontalalignment="left", verticalalignment="center",
clip_on=False, transform=ax.transAxes)

# 积分、微分公式
eq1 = (r"\begin{eqnarray*}"
r"\frac{\partial \phi}{\partial t} + U|\nabla \phi| &=& 0 "
r"\end{eqnarray*}")
ax.text(1, 0.9, eq1,horizontalalignment="right", verticalalignment="top")

eq2 = (r"\begin{eqnarray*}"
r"\mathcal{F} &=& \int f\left( \phi, c \right) dV, \\ "
r"\frac{ \partial \phi } { \partial t } &=& -M_{ \phi } "
r"\frac{ \delta \mathcal{F} } { \delta \phi }"
r"\end{eqnarray*}")
ax.text(0.18, 0.18, eq2)

ax.text(-1, .30, r"gamma: $\gamma$", color="r")
ax.text(-1, .18, r"Omega: $\Omega$", color="b")

plt.show()

2、latexify生成LaTeX 数学公式import math
import latexify
@latexify.with_latex#调用latexify的装饰器
def solve(a, b, c):
return (-b + math.sqrt(b**2 - 4*a*c)) / (2*a)

solve

3、handcalcs生成LaTeX 数学公式

  • 一个求积分公式,借助scipy的quad

import handcalcs.render
from scipy.integrate import quad#借助scipy.quad实现积分
%%render
a = 2
b = 6
n=100
z = quad(f,a,b)
  • 一个混合公式,借助math模块,

from math import sqrt,cos,sin,tan,asin
import handcalcs.render
%%render
#symbolic
f = a-c**2 / b + sqrt(cos(sin(b- 2 / c))) + tan(a/b) - asin(a/c) #Comment part
4、Latex symbols对照表

symbols爬取自网站:https://matplotlib.org/tutorials/text/mathtext.html、制作速查表。

plt.figure(dpi=400)
fig = sns.scatterplot(x='sepal length(cm)',y='sepal width(cm)',data=pd_iris,
style=geek[:150],#添加不同类变量按照不同marker显示
markers=[r"$"+geek[i]+"$" for i in range(150)],#自定义marker形状
**dict(s=320),
color='#01a2d9'

fig.legend(ncol=5,
fontsize=10,
loc=8,
bbox_to_anchor=(0.45, 1),
facecolor='#eaeaea',
)

sns.set(style="whitegrid",font_scale=1)

参考资料

https://matplotlib.org/tutorials/text/usetex.html
https://github.com/connorferster/handcalcs
https://github.com/google/latexify_py

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中方暴击巴拿马后,长和集团终于明白,没大国崛起哪来商人尊严?

中方暴击巴拿马后,长和集团终于明白,没大国崛起哪来商人尊严?

一叶禅林
2026-02-12 07:50:17
全网恭喜!54岁刀郎正式官宣喜讯,被曝疑似“代孕”的云朵惨了

全网恭喜!54岁刀郎正式官宣喜讯,被曝疑似“代孕”的云朵惨了

小椰的奶奶
2026-02-12 08:10:40
麻六记年会破防!小菲首度狂夸张兰,三孙将至喜上加喜!

麻六记年会破防!小菲首度狂夸张兰,三孙将至喜上加喜!

乡野小珥
2026-02-12 00:36:46
拓媒:杨瀚森在场上太笨拙,这样很难在NBA生存

拓媒:杨瀚森在场上太笨拙,这样很难在NBA生存

懂球帝
2026-02-11 17:37:02
陈婷都惊了!七旬张艺谋再破天花板,竟给老夫少妻上了最狠一课!

陈婷都惊了!七旬张艺谋再破天花板,竟给老夫少妻上了最狠一课!

秋姐居
2026-02-12 09:26:34
《生命树》直到白菊和孟耀辉相亲,才知17年前多杰畏罪潜逃真相

《生命树》直到白菊和孟耀辉相亲,才知17年前多杰畏罪潜逃真相

慢半拍sir
2026-02-11 21:29:42
TOP14位身高170以上的女神,有颜有灯有演技

TOP14位身高170以上的女神,有颜有灯有演技

素然追光
2026-01-02 02:45:02
没想到,近八成日本人表示,已无必要改善中日关系!高市早苗乐了

没想到,近八成日本人表示,已无必要改善中日关系!高市早苗乐了

少年仍需努力
2026-02-11 08:02:11
国台办:春节是中华民族最重要的传统节日 民进党当局如果胆敢在祥和的节日里无端挑起事端 必须承担由此引发的一切恶果

国台办:春节是中华民族最重要的传统节日 民进党当局如果胆敢在祥和的节日里无端挑起事端 必须承担由此引发的一切恶果

闪电新闻
2026-02-11 15:49:24
Coco直播自曝经济不好,谢贤没给她2000万分手费,遗憾没能结婚

Coco直播自曝经济不好,谢贤没给她2000万分手费,遗憾没能结婚

离离言几许
2026-02-11 12:44:06
从海南打车到哈尔滨后续:最后结算了3万元,还送了司机很多礼物

从海南打车到哈尔滨后续:最后结算了3万元,还送了司机很多礼物

夜深爱杂谈
2026-02-11 18:12:56
就在多国声援古巴,大喊“古巴加油”之际,古巴航空却停油了!

就在多国声援古巴,大喊“古巴加油”之际,古巴航空却停油了!

达文西看世界
2026-02-11 19:41:58
7年败光2个亿,邹市明冉莹颖共同发文,终究还是踏出了这一步

7年败光2个亿,邹市明冉莹颖共同发文,终究还是踏出了这一步

明天见灌装冰块
2026-02-12 01:25:24
吓人!郭德纲10岁儿子郭汾阳胖到170斤,走路被人扶,腿脚不利索

吓人!郭德纲10岁儿子郭汾阳胖到170斤,走路被人扶,腿脚不利索

小娱乐悠悠
2026-02-12 02:06:45
米兰冬奥|2月12日看点:短道速滑再演“中韩大战”,中国队首金有戏吗?

米兰冬奥|2月12日看点:短道速滑再演“中韩大战”,中国队首金有戏吗?

文汇报
2026-02-12 04:06:17
金价真的是一夜变天,2月11日最新报价,全国金价竟然差这么多?

金价真的是一夜变天,2月11日最新报价,全国金价竟然差这么多?

说故事的阿袭
2026-02-11 07:20:04
争议!王曼昱擦边球为何沉默?丁宁前车之鉴,孙颖莎夺冠实至名归

争议!王曼昱擦边球为何沉默?丁宁前车之鉴,孙颖莎夺冠实至名归

骑马寺的少年
2026-02-11 10:55:45
遭米哈游终止合作后,上海市汇业律师事务所致歉说明

遭米哈游终止合作后,上海市汇业律师事务所致歉说明

IT之家
2026-02-12 07:56:17
水落石出!南博事件结果出炉,3个大问题2个没想到,真相不简单

水落石出!南博事件结果出炉,3个大问题2个没想到,真相不简单

天天热点见闻
2026-02-10 12:23:51
年薪5400万,又一次赛季报销!交易彻底失败,你也应该退役了

年薪5400万,又一次赛季报销!交易彻底失败,你也应该退役了

篮球扫地僧
2026-02-09 23:23:15
2026-02-12 10:27:00
数据不吹牛 incentive-icons
数据不吹牛
趣味+实用数据分析
415文章数 4499关注度
往期回顾 全部

科技要闻

传苹果新Siri再遇挫 多项AI功能或推迟发布

头条要闻

外媒披露:爱泼斯坦死后 一具“假尸”从监狱运出

头条要闻

外媒披露:爱泼斯坦死后 一具“假尸”从监狱运出

体育要闻

搞垮一个冬奥选手,只需要一首歌?

娱乐要闻

大孤山风波愈演愈烈 超50位明星扎堆

财经要闻

这个春节,中美AI“隔空开打”

汽车要闻

具身机器人,能否助力理想打赢全新L9这一仗?

态度原创

教育
健康
旅游
数码
公开课

教育要闻

全全全全全全是好评!!!太争气了呜呜!!!

转头就晕的耳石症,能开车上班吗?

旅游要闻

河北承德:第十一届元宝山新年祈福游园会启幕

数码要闻

2025年中国线上智能手表排名:华为销量大涨46.8%!稳居第一

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版