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 web程序
Sep 11 Python
python多进程操作实例
Nov 21 Python
python3实现短网址和数字相互转换的方法
Apr 28 Python
Python中对元组和列表按条件进行排序的方法示例
Nov 10 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
python抓取搜狗微信公众号文章
Apr 01 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
Nov 11 Python
wxpython绘制音频效果
Nov 18 Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 Python
Python图像处理库PIL的ImageGrab模块介绍详解
Feb 26 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
Apr 07 Python
利用python查看数组中的所有元素是否相同
Jan 08 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
PHP分页显示制作详细讲解
2006/10/09 PHP
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
php实现session共享的实例方法
2019/09/19 PHP
javascript 尚未实现错误解决办法
2008/11/27 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
jquery插件制作 图片走廊 gallery
2012/08/17 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
Python httplib模块使用实例
2015/04/11 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
Python基础中所出现的异常报错总结
2016/11/19 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
python numpy之np.random的随机数函数使用介绍
2019/10/06 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
python 模块导入问题汇总
2021/02/01 Python
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
优秀毕业大学生推荐信
2013/11/13 职场文书
护理专业毕业生自荐信范文
2014/01/05 职场文书
高一化学教学反思
2014/02/05 职场文书
大学生活自我评价
2014/04/09 职场文书
促销活动计划书
2014/05/02 职场文书
爱国演讲稿500字
2014/05/04 职场文书
爱的教育读书笔记
2015/06/26 职场文书
微软发布Windows 11今年最大更新22H2(附 ISO 镜像官方下载)
2022/09/23 数码科技