Python+Matplotlib+LaTeX玩转数学公式


Posted in Python onFebruary 24, 2022

1、Matplotlib中使用LaTeX 公式和符号

一些配置

安装两个软件,链接给出,提取码:1234

protext-3.2-033020.zip

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()

Python+Matplotlib+LaTeX玩转数学公式

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

Python+Matplotlib+LaTeX玩转数学公式

Python+Matplotlib+LaTeX玩转数学公式

Python+Matplotlib+LaTeX玩转数学公式

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)

Python+Matplotlib+LaTeX玩转数学公式

一个混合公式,借助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

Python+Matplotlib+LaTeX玩转数学公式

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)

Python+Matplotlib+LaTeX玩转数学公式

Python+Matplotlib+LaTeX玩转数学公式

Python+Matplotlib+LaTeX玩转数学公式

以上就是Python+Matplotlib+LaTeX玩转数学公式的详细内容,更多关于Python Matplotlib数学公式的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
使用python 获取进程pid号的方法
Mar 10 Python
Python引用(import)文件夹下的py文件的方法
Aug 26 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
Nov 13 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
Pycharm 实现下一个文件引用另外一个文件的方法
Jan 17 Python
Python学习笔记之Django创建第一个数据库模型的方法
Aug 07 Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 Python
python函数局部变量、全局变量、递归知识点总结
Nov 15 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
Python Sqlalchemy如何实现select for update
Oct 12 Python
python实现简单猜单词游戏
Dec 24 Python
如何在Python项目中引入日志
May 31 Python
Python语言内置数据类型
Feb 24 #Python
Python中的程序流程控制语句
Feb 24 #Python
python中对列表的删除和添加方法详解
Feb 24 #Python
通过Python把学姐照片做成拼图游戏
Python帮你解决手机qq微信内存占用太多问题
Feb 15 #Python
python flappy bird小游戏分步实现流程
Python 居然可以在 Excel 中画画你知道吗
Feb 15 #Python
You might like
第五节--克隆
2006/11/16 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
2016/01/21 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
python操作列表的函数使用代码详解
2017/12/28 Python
python学习基础之循环import及import过程
2018/04/22 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
十分钟利用Python制作属于你自己的个性logo
2018/05/07 Python
如何用Python合并lmdb文件
2018/07/02 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
python中数字是否为可变类型
2020/07/08 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
Python从MySQL数据库中面抽取试题,生成试卷
2021/01/14 Python
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
.NET面试问题集
2015/12/08 面试题
大学生自荐信
2013/12/11 职场文书
英语生日邀请函
2014/01/23 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
小学教师见习总结
2015/06/23 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书